diff options
| author | J. Bruce Fields <[email protected]> | 2021-01-29 14:26:29 -0500 |
|---|---|---|
| committer | Chuck Lever <[email protected]> | 2021-01-30 11:47:12 -0500 |
| commit | 3cc55f4434b421d37300aa9a167ace7d60b45ccf (patch) | |
| tree | 636aefebdee4ea18f32c2892d953120b38151694 /include/linux | |
| parent | 02591f9febd5f69bb4c266a4abf899c4cf21964f (diff) | |
nfs: use change attribute for NFS re-exports
When exporting NFS, we may as well use the real change attribute
returned by the original server instead of faking up a change attribute
from the ctime.
Note we can't do that by setting I_VERSION--that would also turn on the
logic in iversion.h which treats the lower bit specially, and that
doesn't make sense for NFS.
So instead we define a new export operation for filesystems like NFS
that want to manage the change attribute themselves.
Signed-off-by: J. Bruce Fields <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Chuck Lever <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/exportfs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/exportfs.h b/include/linux/exportfs.h index 9f4d4bcbf251..fe848901fcc3 100644 --- a/include/linux/exportfs.h +++ b/include/linux/exportfs.h @@ -213,6 +213,7 @@ struct export_operations { bool write, u32 *device_generation); int (*commit_blocks)(struct inode *inode, struct iomap *iomaps, int nr_iomaps, struct iattr *iattr); + u64 (*fetch_iversion)(struct inode *); #define EXPORT_OP_NOWCC (0x1) /* don't collect v3 wcc data */ #define EXPORT_OP_NOSUBTREECHK (0x2) /* no subtree checking */ #define EXPORT_OP_CLOSE_BEFORE_UNLINK (0x4) /* close files before unlink */ |