gfs2: adapt to breakup of struct file_lock
Most of the existing APIs have remained the same, but subsystems that access file_lock fields directly need to reach into struct file_lock_core now. Signed-off-by: Jeff Layton <jlayton@kernel.org> Link: https://lore.kernel.org/r/20240131-flsplit-v3-38-c6129007ee8d@kernel.org Reviewed-by: NeilBrown <neilb@suse.de> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
966b7bd3ca
commit
a6bf23e183
@ -15,7 +15,6 @@
|
||||
#include <linux/mm.h>
|
||||
#include <linux/mount.h>
|
||||
#include <linux/fs.h>
|
||||
#define _NEED_FILE_LOCK_FIELD_MACROS
|
||||
#include <linux/filelock.h>
|
||||
#include <linux/gfs2_ondisk.h>
|
||||
#include <linux/falloc.h>
|
||||
@ -1441,7 +1440,7 @@ static int gfs2_lock(struct file *file, int cmd, struct file_lock *fl)
|
||||
struct gfs2_sbd *sdp = GFS2_SB(file->f_mapping->host);
|
||||
struct lm_lockstruct *ls = &sdp->sd_lockstruct;
|
||||
|
||||
if (!(fl->fl_flags & FL_POSIX))
|
||||
if (!(fl->c.flc_flags & FL_POSIX))
|
||||
return -ENOLCK;
|
||||
if (gfs2_withdrawing_or_withdrawn(sdp)) {
|
||||
if (lock_is_unlock(fl))
|
||||
@ -1484,7 +1483,7 @@ static int do_flock(struct file *file, int cmd, struct file_lock *fl)
|
||||
int error = 0;
|
||||
int sleeptime;
|
||||
|
||||
state = (lock_is_write(fl)) ? LM_ST_EXCLUSIVE : LM_ST_SHARED;
|
||||
state = lock_is_write(fl) ? LM_ST_EXCLUSIVE : LM_ST_SHARED;
|
||||
flags = GL_EXACT | GL_NOPID;
|
||||
if (!IS_SETLKW(cmd))
|
||||
flags |= LM_FLAG_TRY_1CB;
|
||||
@ -1496,8 +1495,8 @@ static int do_flock(struct file *file, int cmd, struct file_lock *fl)
|
||||
if (fl_gh->gh_state == state)
|
||||
goto out;
|
||||
locks_init_lock(&request);
|
||||
request.fl_type = F_UNLCK;
|
||||
request.fl_flags = FL_FLOCK;
|
||||
request.c.flc_type = F_UNLCK;
|
||||
request.c.flc_flags = FL_FLOCK;
|
||||
locks_lock_file_wait(file, &request);
|
||||
gfs2_glock_dq(fl_gh);
|
||||
gfs2_holder_reinit(state, flags, fl_gh);
|
||||
@ -1558,7 +1557,7 @@ static void do_unflock(struct file *file, struct file_lock *fl)
|
||||
|
||||
static int gfs2_flock(struct file *file, int cmd, struct file_lock *fl)
|
||||
{
|
||||
if (!(fl->fl_flags & FL_FLOCK))
|
||||
if (!(fl->c.flc_flags & FL_FLOCK))
|
||||
return -ENOLCK;
|
||||
|
||||
if (lock_is_unlock(fl)) {
|
||||
|
Loading…
Reference in New Issue
Block a user