projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
28a3f6a
)
fs/open: make do_truncate() killable
author
Max Kellermann
<max.kellermann@ionos.com>
Tue, 13 May 2025 15:03:26 +0000
(17:03 +0200)
committer
Christian Brauner
<brauner@kernel.org>
Thu, 15 May 2025 10:03:12 +0000
(12:03 +0200)
Allows killing processes that are waiting for the inode lock.
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
Link:
https://lore.kernel.org/20250513150327.1373061-3-max.kellermann@ionos.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/open.c
patch
|
blob
|
blame
|
history
diff --git
a/fs/open.c
b/fs/open.c
index d2f2df52c458dab128da64216f4dd2988e109d9c..7828234a7caa40c83e69683bd1ecfe69a90e2b49 100644
(file)
--- a/
fs/open.c
+++ b/
fs/open.c
@@
-60,7
+60,10
@@
int do_truncate(struct mnt_idmap *idmap, struct dentry *dentry,
if (ret)
newattrs.ia_valid |= ret | ATTR_FORCE;
- inode_lock(dentry->d_inode);
+ ret = inode_lock_killable(dentry->d_inode);
+ if (ret)
+ return ret;
+
/* Note any delegations or leases have already been broken: */
ret = notify_change(idmap, dentry, &newattrs, NULL);
inode_unlock(dentry->d_inode);