diff --git a/nfs/CHANGELOG.md b/nfs/CHANGELOG.md index e1ac2d3..b8384a6 100644 --- a/nfs/CHANGELOG.md +++ b/nfs/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.0.13 - 2026-03-31 + +- feat: add per-share sync option (default true) to fix I/O errors on large file transfers + ## 1.0.12 - 2026-03-31 - fix: add -s flag to unfsd for stable file handles, fixes EIO errors during rsync diff --git a/nfs/config.json b/nfs/config.json index 18d09dc..6a888fd 100644 --- a/nfs/config.json +++ b/nfs/config.json @@ -1,6 +1,6 @@ { "name": "NFS Server", - "version": "1.0.12", + "version": "1.0.13", "slug": "nfs_server", "description": "Expose Home Assistant media folder via NFS.", "arch": [ @@ -27,7 +27,8 @@ "folder": "media", "allowed_network": "192.168.1.0/24", "read_only": false, - "root_squash": true + "root_squash": true, + "sync": true } ] }, @@ -37,7 +38,8 @@ "folder": "str", "allowed_network": "str", "read_only": "bool", - "root_squash": "bool" + "root_squash": "bool", + "sync": "bool" } ] }, diff --git a/nfs/run.sh b/nfs/run.sh index ce6c268..1000191 100644 --- a/nfs/run.sh +++ b/nfs/run.sh @@ -18,6 +18,7 @@ else NETWORK=$(jq -r ".shares[${i}].allowed_network" "${CONFIG}") READ_ONLY=$(jq -r ".shares[${i}].read_only" "${CONFIG}") ROOT_SQUASH=$(jq -r ".shares[${i}].root_squash" "${CONFIG}") + SYNC=$(jq -r ".shares[${i}].sync" "${CONFIG}") MOUNT_PATH="/${FOLDER}" if [ "${READ_ONLY}" = "true" ]; then @@ -31,6 +32,11 @@ else else OPTIONS="${OPTIONS},no_root_squash" fi + + if [ "${SYNC}" = "true" ]; then + OPTIONS="${OPTIONS},sync" + fi + OPTIONS="${OPTIONS},insecure" bashio::log.info "Exporting ${MOUNT_PATH} to ${NETWORK} (${OPTIONS})..."