mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 03:23:53 -04:00
fs: add a ->sync_lazytime method
Allow the file system to explicitly implement lazytime syncing instead of pigging back on generic inode dirtying. This allows to simplify the XFS implementation and prepares for non-blocking lazytime timestamp updates. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://patch.msgid.link/20260108141934.2052404-8-hch@lst.de Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
committed by
Christian Brauner
parent
188344c8ac
commit
5cf06ea56e
@@ -82,6 +82,7 @@ prototypes::
|
||||
int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len);
|
||||
void (*update_time)(struct inode *inode, enum fs_update_time type,
|
||||
int flags);
|
||||
void (*sync_lazytime)(struct inode *inode);
|
||||
int (*atomic_open)(struct inode *, struct dentry *,
|
||||
struct file *, unsigned open_flag,
|
||||
umode_t create_mode);
|
||||
@@ -118,6 +119,7 @@ getattr: no
|
||||
listxattr: no
|
||||
fiemap: no
|
||||
update_time: no
|
||||
sync_lazytime: no
|
||||
atomic_open: shared (exclusive if O_CREAT is set in open flags)
|
||||
tmpfile: no
|
||||
fileattr_get: no or exclusive
|
||||
|
||||
@@ -487,6 +487,7 @@ As of kernel 2.6.22, the following members are defined:
|
||||
ssize_t (*listxattr) (struct dentry *, char *, size_t);
|
||||
void (*update_time)(struct inode *inode, enum fs_update_time type,
|
||||
int flags);
|
||||
void (*sync_lazytime)(struct inode *inode);
|
||||
int (*atomic_open)(struct inode *, struct dentry *, struct file *,
|
||||
unsigned open_flag, umode_t create_mode);
|
||||
int (*tmpfile) (struct mnt_idmap *, struct inode *, struct file *, umode_t);
|
||||
@@ -643,6 +644,11 @@ otherwise noted.
|
||||
an inode. If this is not defined the VFS will update the inode
|
||||
itself and call mark_inode_dirty_sync.
|
||||
|
||||
``sync_lazytime``:
|
||||
called by the writeback code to update the lazy time stamps to
|
||||
regular time stamp updates that get syncing into the on-disk
|
||||
inode.
|
||||
|
||||
``atomic_open``
|
||||
called on the last component of an open. Using this optional
|
||||
method the filesystem can look up, possibly create and open the
|
||||
|
||||
Reference in New Issue
Block a user