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/9p/vfs_file.c | 39 +++++++++++++++++++--------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
index a1dabcf73380..4e4f555e0c8b 100644
--- a/fs/9p/vfs_file.c
+++ b/fs/9p/vfs_file.c
@@ -9,7 +9,6 @@
 #include <linux/module.h>
 #include <linux/errno.h>
 #include <linux/fs.h>
-#define _NEED_FILE_LOCK_FIELD_MACROS
 #include <linux/filelock.h>
 #include <linux/sched.h>
 #include <linux/file.h>
@@ -108,7 +107,7 @@ static int v9fs_file_lock(struct file *filp, int cmd, 
struct file_lock *fl)
 
        p9_debug(P9_DEBUG_VFS, "filp: %p lock: %p\n", filp, fl);
 
-       if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_type != F_UNLCK) {
+       if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_core.flc_type != 
F_UNLCK) {
                filemap_write_and_wait(inode->i_mapping);
                invalidate_mapping_pages(&inode->i_data, 0, -1);
        }
@@ -127,7 +126,7 @@ static int v9fs_file_do_lock(struct file *filp, int cmd, 
struct file_lock *fl)
        fid = filp->private_data;
        BUG_ON(fid == NULL);
 
-       BUG_ON((fl->fl_flags & FL_POSIX) != FL_POSIX);
+       BUG_ON((fl->fl_core.flc_flags & FL_POSIX) != FL_POSIX);
 
        res = locks_lock_file_wait(filp, fl);
        if (res < 0)
@@ -136,7 +135,7 @@ static int v9fs_file_do_lock(struct file *filp, int cmd, 
struct file_lock *fl)
        /* convert posix lock to p9 tlock args */
        memset(&flock, 0, sizeof(flock));
        /* map the lock type */
-       switch (fl->fl_type) {
+       switch (fl->fl_core.flc_type) {
        case F_RDLCK:
                flock.type = P9_LOCK_TYPE_RDLCK;
                break;
@@ -152,7 +151,7 @@ static int v9fs_file_do_lock(struct file *filp, int cmd, 
struct file_lock *fl)
                flock.length = 0;
        else
                flock.length = fl->fl_end - fl->fl_start + 1;
-       flock.proc_id = fl->fl_pid;
+       flock.proc_id = fl->fl_core.flc_pid;
        flock.client_id = fid->clnt->name;
        if (IS_SETLKW(cmd))
                flock.flags = P9_LOCK_FLAGS_BLOCK;
@@ -207,13 +206,13 @@ static int v9fs_file_do_lock(struct file *filp, int cmd, 
struct file_lock *fl)
         * incase server returned error for lock request, revert
         * it locally
         */
-       if (res < 0 && fl->fl_type != F_UNLCK) {
-               unsigned char type = fl->fl_type;
+       if (res < 0 && fl->fl_core.flc_type != F_UNLCK) {
+               unsigned char type = fl->fl_core.flc_type;
 
-               fl->fl_type = F_UNLCK;
+               fl->fl_core.flc_type = F_UNLCK;
                /* Even if this fails we want to return the remote error */
                locks_lock_file_wait(filp, fl);
-               fl->fl_type = type;
+               fl->fl_core.flc_type = type;
        }
        if (flock.client_id != fid->clnt->name)
                kfree(flock.client_id);
@@ -235,7 +234,7 @@ static int v9fs_file_getlock(struct file *filp, struct 
file_lock *fl)
         * if we have a conflicting lock locally, no need to validate
         * with server
         */
-       if (fl->fl_type != F_UNLCK)
+       if (fl->fl_core.flc_type != F_UNLCK)
                return res;
 
        /* convert posix lock to p9 tgetlock args */
@@ -246,7 +245,7 @@ static int v9fs_file_getlock(struct file *filp, struct 
file_lock *fl)
                glock.length = 0;
        else
                glock.length = fl->fl_end - fl->fl_start + 1;
-       glock.proc_id = fl->fl_pid;
+       glock.proc_id = fl->fl_core.flc_pid;
        glock.client_id = fid->clnt->name;
 
        res = p9_client_getlock_dotl(fid, &glock);
@@ -255,13 +254,13 @@ static int v9fs_file_getlock(struct file *filp, struct 
file_lock *fl)
        /* map 9p lock type to os lock type */
        switch (glock.type) {
        case P9_LOCK_TYPE_RDLCK:
-               fl->fl_type = F_RDLCK;
+               fl->fl_core.flc_type = F_RDLCK;
                break;
        case P9_LOCK_TYPE_WRLCK:
-               fl->fl_type = F_WRLCK;
+               fl->fl_core.flc_type = F_WRLCK;
                break;
        case P9_LOCK_TYPE_UNLCK:
-               fl->fl_type = F_UNLCK;
+               fl->fl_core.flc_type = F_UNLCK;
                break;
        }
        if (glock.type != P9_LOCK_TYPE_UNLCK) {
@@ -270,7 +269,7 @@ static int v9fs_file_getlock(struct file *filp, struct 
file_lock *fl)
                        fl->fl_end = OFFSET_MAX;
                else
                        fl->fl_end = glock.start + glock.length - 1;
-               fl->fl_pid = -glock.proc_id;
+               fl->fl_core.flc_pid = -glock.proc_id;
        }
 out:
        if (glock.client_id != fid->clnt->name)
@@ -294,7 +293,7 @@ static int v9fs_file_lock_dotl(struct file *filp, int cmd, 
struct file_lock *fl)
        p9_debug(P9_DEBUG_VFS, "filp: %p cmd:%d lock: %p name: %pD\n",
                 filp, cmd, fl, filp);
 
-       if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_type != F_UNLCK) {
+       if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_core.flc_type != 
F_UNLCK) {
                filemap_write_and_wait(inode->i_mapping);
                invalidate_mapping_pages(&inode->i_data, 0, -1);
        }
@@ -325,16 +324,16 @@ static int v9fs_file_flock_dotl(struct file *filp, int 
cmd,
        p9_debug(P9_DEBUG_VFS, "filp: %p cmd:%d lock: %p name: %pD\n",
                 filp, cmd, fl, filp);
 
-       if (!(fl->fl_flags & FL_FLOCK))
+       if (!(fl->fl_core.flc_flags & FL_FLOCK))
                goto out_err;
 
-       if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_type != F_UNLCK) {
+       if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_core.flc_type != 
F_UNLCK) {
                filemap_write_and_wait(inode->i_mapping);
                invalidate_mapping_pages(&inode->i_data, 0, -1);
        }
        /* Convert flock to posix lock */
-       fl->fl_flags |= FL_POSIX;
-       fl->fl_flags ^= FL_FLOCK;
+       fl->fl_core.flc_flags |= FL_POSIX;
+       fl->fl_core.flc_flags ^= FL_FLOCK;
 
        if (IS_SETLK(cmd) | IS_SETLKW(cmd))
                ret = v9fs_file_do_lock(filp, cmd, fl);

-- 
2.43.0


Reply via email to