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 <jlay...@kernel.org>
---
 fs/dlm/plock.c | 45 ++++++++++++++++++++++-----------------------
 1 file changed, 22 insertions(+), 23 deletions(-)

diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c
index b89dca1d51b0..b3e9fb9df808 100644
--- a/fs/dlm/plock.c
+++ b/fs/dlm/plock.c
@@ -4,7 +4,6 @@
  */
 
 #include <linux/fs.h>
-#define _NEED_FILE_LOCK_FIELD_MACROS
 #include <linux/filelock.h>
 #include <linux/miscdevice.h>
 #include <linux/poll.h>
@@ -139,14 +138,14 @@ int dlm_posix_lock(dlm_lockspace_t *lockspace, u64 
number, struct file *file,
        }
 
        op->info.optype         = DLM_PLOCK_OP_LOCK;
-       op->info.pid            = fl->fl_pid;
-       op->info.ex             = (fl->fl_type == F_WRLCK);
-       op->info.wait           = !!(fl->fl_flags & FL_SLEEP);
+       op->info.pid            = fl->fl_core.flc_pid;
+       op->info.ex             = (fl->fl_core.flc_type == F_WRLCK);
+       op->info.wait           = !!(fl->fl_core.flc_flags & FL_SLEEP);
        op->info.fsid           = ls->ls_global_id;
        op->info.number         = number;
        op->info.start          = fl->fl_start;
        op->info.end            = fl->fl_end;
-       op->info.owner = (__u64)(long)fl->fl_owner;
+       op->info.owner = (__u64)(long) fl->fl_core.flc_owner;
        /* async handling */
        if (fl->fl_lmops && fl->fl_lmops->lm_grant) {
                op_data = kzalloc(sizeof(*op_data), GFP_NOFS);
@@ -259,7 +258,7 @@ static int dlm_plock_callback(struct plock_op *op)
        }
 
        /* got fs lock; bookkeep locally as well: */
-       flc->fl_flags &= ~FL_SLEEP;
+       flc->fl_core.flc_flags &= ~FL_SLEEP;
        if (posix_lock_file(file, flc, NULL)) {
                /*
                 * This can only happen in the case of kmalloc() failure.
@@ -292,7 +291,7 @@ int dlm_posix_unlock(dlm_lockspace_t *lockspace, u64 
number, struct file *file,
        struct dlm_ls *ls;
        struct plock_op *op;
        int rv;
-       unsigned char saved_flags = fl->fl_flags;
+       unsigned char saved_flags = fl->fl_core.flc_flags;
 
        ls = dlm_find_lockspace_local(lockspace);
        if (!ls)
@@ -305,7 +304,7 @@ int dlm_posix_unlock(dlm_lockspace_t *lockspace, u64 
number, struct file *file,
        }
 
        /* cause the vfs unlock to return ENOENT if lock is not found */
-       fl->fl_flags |= FL_EXISTS;
+       fl->fl_core.flc_flags |= FL_EXISTS;
 
        rv = locks_lock_file_wait(file, fl);
        if (rv == -ENOENT) {
@@ -318,14 +317,14 @@ int dlm_posix_unlock(dlm_lockspace_t *lockspace, u64 
number, struct file *file,
        }
 
        op->info.optype         = DLM_PLOCK_OP_UNLOCK;
-       op->info.pid            = fl->fl_pid;
+       op->info.pid            = fl->fl_core.flc_pid;
        op->info.fsid           = ls->ls_global_id;
        op->info.number         = number;
        op->info.start          = fl->fl_start;
        op->info.end            = fl->fl_end;
-       op->info.owner = (__u64)(long)fl->fl_owner;
+       op->info.owner = (__u64)(long) fl->fl_core.flc_owner;
 
-       if (fl->fl_flags & FL_CLOSE) {
+       if (fl->fl_core.flc_flags & FL_CLOSE) {
                op->info.flags |= DLM_PLOCK_FL_CLOSE;
                send_op(op);
                rv = 0;
@@ -346,7 +345,7 @@ int dlm_posix_unlock(dlm_lockspace_t *lockspace, u64 
number, struct file *file,
        dlm_release_plock_op(op);
 out:
        dlm_put_lockspace(ls);
-       fl->fl_flags = saved_flags;
+       fl->fl_core.flc_flags = saved_flags;
        return rv;
 }
 EXPORT_SYMBOL_GPL(dlm_posix_unlock);
@@ -376,14 +375,14 @@ int dlm_posix_cancel(dlm_lockspace_t *lockspace, u64 
number, struct file *file,
                return -EINVAL;
 
        memset(&info, 0, sizeof(info));
-       info.pid = fl->fl_pid;
-       info.ex = (fl->fl_type == F_WRLCK);
+       info.pid = fl->fl_core.flc_pid;
+       info.ex = (fl->fl_core.flc_type == F_WRLCK);
        info.fsid = ls->ls_global_id;
        dlm_put_lockspace(ls);
        info.number = number;
        info.start = fl->fl_start;
        info.end = fl->fl_end;
-       info.owner = (__u64)(long)fl->fl_owner;
+       info.owner = (__u64)(long) fl->fl_core.flc_owner;
 
        rv = do_lock_cancel(&info);
        switch (rv) {
@@ -438,13 +437,13 @@ int dlm_posix_get(dlm_lockspace_t *lockspace, u64 number, 
struct file *file,
        }
 
        op->info.optype         = DLM_PLOCK_OP_GET;
-       op->info.pid            = fl->fl_pid;
-       op->info.ex             = (fl->fl_type == F_WRLCK);
+       op->info.pid            = fl->fl_core.flc_pid;
+       op->info.ex             = (fl->fl_core.flc_type == F_WRLCK);
        op->info.fsid           = ls->ls_global_id;
        op->info.number         = number;
        op->info.start          = fl->fl_start;
        op->info.end            = fl->fl_end;
-       op->info.owner = (__u64)(long)fl->fl_owner;
+       op->info.owner = (__u64)(long) fl->fl_core.flc_owner;
 
        send_op(op);
        wait_event(recv_wq, (op->done != 0));
@@ -456,16 +455,16 @@ int dlm_posix_get(dlm_lockspace_t *lockspace, u64 number, 
struct file *file,
 
        rv = op->info.rv;
 
-       fl->fl_type = F_UNLCK;
+       fl->fl_core.flc_type = F_UNLCK;
        if (rv == -ENOENT)
                rv = 0;
        else if (rv > 0) {
                locks_init_lock(fl);
-               fl->fl_type = (op->info.ex) ? F_WRLCK : F_RDLCK;
-               fl->fl_flags = FL_POSIX;
-               fl->fl_pid = op->info.pid;
+               fl->fl_core.flc_type = (op->info.ex) ? F_WRLCK : F_RDLCK;
+               fl->fl_core.flc_flags = FL_POSIX;
+               fl->fl_core.flc_pid = op->info.pid;
                if (op->info.nodeid != dlm_our_nodeid())
-                       fl->fl_pid = -fl->fl_pid;
+                       fl->fl_core.flc_pid = -fl->fl_core.flc_pid;
                fl->fl_start = op->info.start;
                fl->fl_end = op->info.end;
                rv = 0;

-- 
2.43.0


Reply via email to