diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2025-12-01 14:39:03 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2025-12-01 14:39:03 -0800 |
| commit | 978d337c2ed6e5313ee426871a410eddc796ccfd (patch) | |
| tree | b12791ca01da7a745ed8728f43462fabfeecf352 /fs/open.c | |
| parent | afdf0fb340948a8c0f581ed1dc42828af89b80b6 (diff) | |
| parent | 73fd0dba0beb1d2d1695ee5452eac8dfabce3f9e (diff) | |
| download | tip-978d337c2ed6e5313ee426871a410eddc796ccfd.tar.gz | |
Merge tag 'vfs-6.19-rc1.guards' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
Pull superblock lock guard updates from Christian Brauner:
"This starts the work of introducing guards for superblock related
locks.
Introduce super_write_guard for scoped superblock write protection.
This provides a guard-based alternative to the manual sb_start_write()
and sb_end_write() pattern, allowing the compiler to automatically
handle the cleanup"
* tag 'vfs-6.19-rc1.guards' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
xfs: use super write guard in xfs_file_ioctl()
open: use super write guard in do_ftruncate()
btrfs: use super write guard in relocating_repair_kthread()
ext4: use super write guard in write_mmp_block()
btrfs: use super write guard in sb_start_write()
btrfs: use super write guard btrfs_run_defrag_inode()
btrfs: use super write guard in btrfs_reclaim_bgs_work()
fs: add super_write_guard
Diffstat (limited to 'fs/open.c')
| -rw-r--r-- | fs/open.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/open.c b/fs/open.c index e3c737ede4e494..2a2cf9007900dc 100644 --- a/fs/open.c +++ b/fs/open.c @@ -191,12 +191,9 @@ int do_ftruncate(struct file *file, loff_t length, int small) if (error) return error; - sb_start_write(inode->i_sb); - error = do_truncate(file_mnt_idmap(file), dentry, length, - ATTR_MTIME | ATTR_CTIME, file); - sb_end_write(inode->i_sb); - - return error; + scoped_guard(super_write, inode->i_sb) + return do_truncate(file_mnt_idmap(file), dentry, length, + ATTR_MTIME | ATTR_CTIME, file); } int do_sys_ftruncate(unsigned int fd, loff_t length, int small) |
