diff options
| author | Christoph Hellwig <hch@lst.de> | 2026-01-08 15:19:05 +0100 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-01-12 14:01:32 +0100 |
| commit | 761475268fa8e322fe6b80bcf557dc65517df71e (patch) | |
| tree | 5dbbc9ed2ead8ea6e155b752de12129e58e8e162 /fs/gfs2 | |
| parent | 1cbc822816758b2678e94800ce8eecc7b706fb84 (diff) | |
fs: refactor ->update_time handling
Pass the type of update (atime vs c/mtime plus version) as an enum
instead of a set of flags that caused all kinds of confusion.
Because inode_update_timestamps now can't return a modified version
of those flags, return the I_DIRTY_* flags needed to persist the
update, which is what the main caller in generic_update_time wants
anyway, and which is suitable for the other callers that only want
to know if an update happened.
The whole update_time path keeps the flags argument, which will be used
to support non-blocking updates soon even if it is unused, and (the
slightly renamed) inode_update_time also gains the possibility to return
a negative errno to support this.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20260108141934.2052404-6-hch@lst.de
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/gfs2')
| -rw-r--r-- | fs/gfs2/inode.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index e08eb419347c..4ef39ff6889d 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -2242,7 +2242,8 @@ loff_t gfs2_seek_hole(struct file *file, loff_t offset) return vfs_setpos(file, ret, inode->i_sb->s_maxbytes); } -static int gfs2_update_time(struct inode *inode, int flags) +static int gfs2_update_time(struct inode *inode, enum fs_update_time type, + unsigned int flags) { struct gfs2_inode *ip = GFS2_I(inode); struct gfs2_glock *gl = ip->i_gl; @@ -2257,7 +2258,7 @@ static int gfs2_update_time(struct inode *inode, int flags) if (error) return error; } - return generic_update_time(inode, flags); + return generic_update_time(inode, type, flags); } static const struct inode_operations gfs2_file_iops = { |
