feat(nfs): add per-share sync option (default true) to fix rsync I/O errors
This commit is contained in:
@@ -1,5 +1,9 @@
|
|||||||
# Changelog
|
# 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
|
## 1.0.12 - 2026-03-31
|
||||||
|
|
||||||
- fix: add -s flag to unfsd for stable file handles, fixes EIO errors during rsync
|
- fix: add -s flag to unfsd for stable file handles, fixes EIO errors during rsync
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "NFS Server",
|
"name": "NFS Server",
|
||||||
"version": "1.0.12",
|
"version": "1.0.13",
|
||||||
"slug": "nfs_server",
|
"slug": "nfs_server",
|
||||||
"description": "Expose Home Assistant media folder via NFS.",
|
"description": "Expose Home Assistant media folder via NFS.",
|
||||||
"arch": [
|
"arch": [
|
||||||
@@ -27,7 +27,8 @@
|
|||||||
"folder": "media",
|
"folder": "media",
|
||||||
"allowed_network": "192.168.1.0/24",
|
"allowed_network": "192.168.1.0/24",
|
||||||
"read_only": false,
|
"read_only": false,
|
||||||
"root_squash": true
|
"root_squash": true,
|
||||||
|
"sync": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -37,7 +38,8 @@
|
|||||||
"folder": "str",
|
"folder": "str",
|
||||||
"allowed_network": "str",
|
"allowed_network": "str",
|
||||||
"read_only": "bool",
|
"read_only": "bool",
|
||||||
"root_squash": "bool"
|
"root_squash": "bool",
|
||||||
|
"sync": "bool"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ else
|
|||||||
NETWORK=$(jq -r ".shares[${i}].allowed_network" "${CONFIG}")
|
NETWORK=$(jq -r ".shares[${i}].allowed_network" "${CONFIG}")
|
||||||
READ_ONLY=$(jq -r ".shares[${i}].read_only" "${CONFIG}")
|
READ_ONLY=$(jq -r ".shares[${i}].read_only" "${CONFIG}")
|
||||||
ROOT_SQUASH=$(jq -r ".shares[${i}].root_squash" "${CONFIG}")
|
ROOT_SQUASH=$(jq -r ".shares[${i}].root_squash" "${CONFIG}")
|
||||||
|
SYNC=$(jq -r ".shares[${i}].sync" "${CONFIG}")
|
||||||
MOUNT_PATH="/${FOLDER}"
|
MOUNT_PATH="/${FOLDER}"
|
||||||
|
|
||||||
if [ "${READ_ONLY}" = "true" ]; then
|
if [ "${READ_ONLY}" = "true" ]; then
|
||||||
@@ -31,6 +32,11 @@ else
|
|||||||
else
|
else
|
||||||
OPTIONS="${OPTIONS},no_root_squash"
|
OPTIONS="${OPTIONS},no_root_squash"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${SYNC}" = "true" ]; then
|
||||||
|
OPTIONS="${OPTIONS},sync"
|
||||||
|
fi
|
||||||
|
|
||||||
OPTIONS="${OPTIONS},insecure"
|
OPTIONS="${OPTIONS},insecure"
|
||||||
|
|
||||||
bashio::log.info "Exporting ${MOUNT_PATH} to ${NETWORK} (${OPTIONS})..."
|
bashio::log.info "Exporting ${MOUNT_PATH} to ${NETWORK} (${OPTIONS})..."
|
||||||
|
|||||||
Reference in New Issue
Block a user