aboutsummaryrefslogtreecommitdiffstats
path: root/module/os/linux
diff options
context:
space:
mode:
authorDeHackEd <[email protected]>2020-02-16 15:44:08 -0500
committerGitHub <[email protected]>2020-02-16 12:44:08 -0800
commitd09dc5980c3e4840352c3c7b575975cbb72e7270 (patch)
treecc62025724d8a736b0ad9128d973b2d8431ebbbd /module/os/linux
parentecbbdac799e0fd33f9d8b5fd6315008e3b4c9a50 (diff)
Honour sync=disabled when relinking tpmfiles
Unlinked files don't respect synchronous flush commands, but when they get relinked their state is unknown. Previously we force flushed all such files even when sync=disabled. Correct this case. Reviewed-by: Chunwei Chen <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: George Melikov <[email protected]> Signed-off-by: DHE <[email protected]> Closes #10005
Diffstat (limited to 'module/os/linux')
-rw-r--r--module/os/linux/zfs/zfs_vnops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/module/os/linux/zfs/zfs_vnops.c b/module/os/linux/zfs/zfs_vnops.c
index 406cd7ef2..ec870957f 100644
--- a/module/os/linux/zfs/zfs_vnops.c
+++ b/module/os/linux/zfs/zfs_vnops.c
@@ -4431,7 +4431,7 @@ top:
if (!is_tmpfile && zfsvfs->z_os->os_sync == ZFS_SYNC_ALWAYS)
zil_commit(zilog, 0);
- if (is_tmpfile)
+ if (is_tmpfile && zfsvfs->z_os->os_sync != ZFS_SYNC_DISABLED)
txg_wait_synced(dmu_objset_pool(zfsvfs->z_os), txg);
zfs_inode_update(tdzp);