feat(nfs): add per-share sync option (default true) to fix rsync I/O errors

This commit is contained in:
2026-03-31 15:47:16 +02:00
parent b5e46d4406
commit c7d5d2f6ee
3 changed files with 15 additions and 3 deletions

View File

@@ -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

View File

@@ -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"
}
]
},

View File

@@ -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})..."