]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
include/linux/fs.h: add inode_lock_killable()
authorMax Kellermann <max.kellermann@ionos.com>
Tue, 13 May 2025 15:03:24 +0000 (17:03 +0200)
committerChristian Brauner <brauner@kernel.org>
Thu, 15 May 2025 10:03:11 +0000 (12:03 +0200)
Prepare for making inode operations killable while they're waiting for
the lock.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
Link: https://lore.kernel.org/20250513150327.1373061-1-max.kellermann@ionos.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
include/linux/fs.h

index ddd54a6649161d104d21f876ee67a47ea00b6400..82c6093b8582a35390cf1ac2d8d38d95227d4867 100644 (file)
@@ -867,6 +867,11 @@ static inline void inode_lock(struct inode *inode)
        down_write(&inode->i_rwsem);
 }
 
+static inline __must_check int inode_lock_killable(struct inode *inode)
+{
+       return down_write_killable(&inode->i_rwsem);
+}
+
 static inline void inode_unlock(struct inode *inode)
 {
        up_write(&inode->i_rwsem);
@@ -877,6 +882,11 @@ static inline void inode_lock_shared(struct inode *inode)
        down_read(&inode->i_rwsem);
 }
 
+static inline __must_check int inode_lock_shared_killable(struct inode *inode)
+{
+       return down_read_killable(&inode->i_rwsem);
+}
+
 static inline void inode_unlock_shared(struct inode *inode)
 {
        up_read(&inode->i_rwsem);