diff options
author | George Wilson <[email protected]> | 2019-03-22 16:09:11 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-03-22 13:09:11 -0700 |
commit | 2efea7c82c5741a50b476bb1dcbc9a74b8f73ad1 (patch) | |
tree | a7f5e66611882cd43d729d23591248a1208ed692 /lib | |
parent | 060f0226e6396a3c7104fedc8d2af7063a27c1f9 (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')
-rw-r--r-- | lib/libspl/include/sys/file.h | 1 |
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 */ |