diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2022-04-06 12:51:27 +0200 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2022-06-29 13:07:54 +0200 |
commit | b582d5f05ddbd61bb72896b31ff83d7f0b0862f5 (patch) | |
tree | 5d78497611c18f7478c56ca85cd5353be23967b1 | |
parent | gfs2: Add GL_NOPID flag for process-independent glock holders (diff) | |
download | linux-b582d5f05ddbd61bb72896b31ff83d7f0b0862f5.tar.xz linux-b582d5f05ddbd61bb72896b31ff83d7f0b0862f5.zip |
gfs2: Mark flock glock holders as GL_NOPID
Add the GL_NOPID flag for flock glock holders. Clean up the flag
setting code in do_flock.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
-rw-r--r-- | fs/gfs2/file.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 25f4080bc973..1383f9598011 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -1472,7 +1472,9 @@ static int do_flock(struct file *file, int cmd, struct file_lock *fl) int sleeptime; state = (fl->fl_type == F_WRLCK) ? LM_ST_EXCLUSIVE : LM_ST_SHARED; - flags = (IS_SETLKW(cmd) ? 0 : LM_FLAG_TRY_1CB) | GL_EXACT; + flags = GL_EXACT | GL_NOPID; + if (!IS_SETLKW(cmd)) + flags |= LM_FLAG_TRY_1CB; mutex_lock(&fp->f_fl_mutex); @@ -1500,7 +1502,8 @@ static int do_flock(struct file *file, int cmd, struct file_lock *fl) error = gfs2_glock_nq(fl_gh); if (error != GLR_TRYFAILED) break; - fl_gh->gh_flags = LM_FLAG_TRY | GL_EXACT; + fl_gh->gh_flags &= ~LM_FLAG_TRY_1CB; + fl_gh->gh_flags |= LM_FLAG_TRY; msleep(sleeptime); } if (error) { |