aboutsummaryrefslogtreecommitdiffstats
path: root/lib/libspl
diff options
context:
space:
mode:
authorGeorge Wilson <[email protected]>2019-03-22 16:09:11 -0400
committerBrian Behlendorf <[email protected]>2019-03-22 13:09:11 -0700
commit2efea7c82c5741a50b476bb1dcbc9a74b8f73ad1 (patch)
treea7f5e66611882cd43d729d23591248a1208ed692 /lib/libspl
parent060f0226e6396a3c7104fedc8d2af7063a27c1f9 (diff)
ZFS Reads may result in unneccesary calls to zil_commit
ZFS supports O_RSYNC for read operations and when specified will ensure the same level of data integrity that O_DSYNC and O_SYNC provides for writes. O_RSYNC by itself has no effect so it must be combined with either O_DSYNC or O_SYNC. However, many platforms don't support O_RSYNC and have mapped O_SYNC to mean O_RSYNC within ZFS. This is incorrect and causes unnecessary calls to zil_commit. Only platforms which support O_RSYNC should implement the zil_commit functionality in the read code path. Reviewed-by: Matt Ahrens <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: George Wilson <[email protected]> Closes #8523
Diffstat (limited to 'lib/libspl')
-rw-r--r--lib/libspl/include/sys/file.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/lib/libspl/include/sys/file.h b/lib/libspl/include/sys/file.h
index b5d985bda..e0752ac25 100644
--- a/lib/libspl/include/sys/file.h
+++ b/lib/libspl/include/sys/file.h
@@ -40,7 +40,6 @@
#define FOFFMAX O_LARGEFILE
#define FSYNC O_SYNC
#define FDSYNC O_DSYNC
-#define FRSYNC O_RSYNC
#define FEXCL O_EXCL
#define FNODSYNC 0x10000 /* fsync pseudo flag */