diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2020-10-21 16:37:54 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-04-13 21:00:54 +0200 |
commit | 3f53715fd55c4616fc25ac0e45ca7331d8fdf7f1 (patch) | |
tree | 2f1dfcff7b8b1100dc51b1ae5cec858d11abb1fb /fs | |
parent | 2dc49f58a29c1a38903a823b7e36eb64dc2b70da (diff) |
gfs2: Check for active reservation in gfs2_release
[ Upstream commit 0ec9b9ea4f83303bfd8f052a3d8b2bd179b002e1 ]
In gfs2_release, check if the inode has an active reservation to avoid
unnecessary lock taking.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/gfs2/file.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index cfd9d03f604f..59318b1eaa60 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -716,10 +716,10 @@ static int gfs2_release(struct inode *inode, struct file *file) kfree(file->private_data); file->private_data = NULL; - if (file->f_mode & FMODE_WRITE) { + if (gfs2_rs_active(&ip->i_res)) gfs2_rs_delete(ip, &inode->i_writecount); + if (file->f_mode & FMODE_WRITE) gfs2_qa_put(ip); - } return 0; } |