]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
lockd: convert to using new filelock helpers
authorJeff Layton <jlayton@kernel.org>
Wed, 31 Jan 2024 23:01:51 +0000 (18:01 -0500)
committerChristian Brauner <brauner@kernel.org>
Mon, 5 Feb 2024 12:11:36 +0000 (13:11 +0100)
Convert to using the new file locking helper functions. Also in later
patches we're going to introduce some macros with names that clash with
the variable names in nlmclnt_lock. Rename them.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Link: https://lore.kernel.org/r/20240131-flsplit-v3-10-c6129007ee8d@kernel.org
Reviewed-by: NeilBrown <neilb@suse.de>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/lockd/clntproc.c
fs/lockd/svcsubs.c

index fba6c7fa74747e9c411ed23917b744cc93c49ac3..cc596748e359bacd57e9b70f79f9faaa00970126 100644 (file)
@@ -522,8 +522,8 @@ nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl)
        struct nlm_host *host = req->a_host;
        struct nlm_res  *resp = &req->a_res;
        struct nlm_wait block;
-       unsigned char fl_flags = fl->fl_flags;
-       unsigned char fl_type;
+       unsigned char flags = fl->fl_flags;
+       unsigned char type;
        __be32 b_status;
        int status = -ENOLCK;
 
@@ -533,7 +533,7 @@ nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl)
 
        fl->fl_flags |= FL_ACCESS;
        status = do_vfs_lock(fl);
-       fl->fl_flags = fl_flags;
+       fl->fl_flags = flags;
        if (status < 0)
                goto out;
 
@@ -595,7 +595,7 @@ again:
                if (do_vfs_lock(fl) < 0)
                        printk(KERN_WARNING "%s: VFS is out of sync with lock manager!\n", __func__);
                up_read(&host->h_rwsem);
-               fl->fl_flags = fl_flags;
+               fl->fl_flags = flags;
                status = 0;
        }
        if (status < 0)
@@ -605,7 +605,7 @@ again:
         * cases NLM_LCK_DENIED is returned for a permanent error.  So
         * turn it into an ENOLCK.
         */
-       if (resp->status == nlm_lck_denied && (fl_flags & FL_SLEEP))
+       if (resp->status == nlm_lck_denied && (flags & FL_SLEEP))
                status = -ENOLCK;
        else
                status = nlm_stat_to_errno(resp->status);
@@ -622,13 +622,13 @@ out_unlock:
                           req->a_host->h_addrlen, req->a_res.status);
        dprintk("lockd: lock attempt ended in fatal error.\n"
                "       Attempting to unlock.\n");
-       fl_type = fl->fl_type;
+       type = fl->fl_type;
        fl->fl_type = F_UNLCK;
        down_read(&host->h_rwsem);
        do_vfs_lock(fl);
        up_read(&host->h_rwsem);
-       fl->fl_type = fl_type;
-       fl->fl_flags = fl_flags;
+       fl->fl_type = type;
+       fl->fl_flags = flags;
        nlmclnt_async_call(cred, req, NLMPROC_UNLOCK, &nlmclnt_unlock_ops);
        return status;
 }
@@ -683,7 +683,7 @@ nlmclnt_unlock(struct nlm_rqst *req, struct file_lock *fl)
        struct nlm_host *host = req->a_host;
        struct nlm_res  *resp = &req->a_res;
        int status;
-       unsigned char fl_flags = fl->fl_flags;
+       unsigned char flags = fl->fl_flags;
 
        /*
         * Note: the server is supposed to either grant us the unlock
@@ -694,7 +694,7 @@ nlmclnt_unlock(struct nlm_rqst *req, struct file_lock *fl)
        down_read(&host->h_rwsem);
        status = do_vfs_lock(fl);
        up_read(&host->h_rwsem);
-       fl->fl_flags = fl_flags;
+       fl->fl_flags = flags;
        if (status == -ENOENT) {
                status = 0;
                goto out;
index e3b6229e7ae5cdd807198a47bbb8e8546a6ff3ba..2f33c187b87620565debba98aae2d3015112ee21 100644 (file)
@@ -73,7 +73,7 @@ static inline unsigned int file_hash(struct nfs_fh *f)
 
 int lock_to_openmode(struct file_lock *lock)
 {
-       return (lock->fl_type == F_WRLCK) ? O_WRONLY : O_RDONLY;
+       return (lock_is_write(lock)) ? O_WRONLY : O_RDONLY;
 }
 
 /*
@@ -218,7 +218,7 @@ nlm_traverse_locks(struct nlm_host *host, struct nlm_file *file,
 again:
        file->f_locks = 0;
        spin_lock(&flctx->flc_lock);
-       list_for_each_entry(fl, &flctx->flc_posix, fl_list) {
+       for_each_file_lock(fl, &flctx->flc_posix) {
                if (fl->fl_lmops != &nlmsvc_lock_operations)
                        continue;
 
@@ -272,7 +272,7 @@ nlm_file_inuse(struct nlm_file *file)
 
        if (flctx && !list_empty_careful(&flctx->flc_posix)) {
                spin_lock(&flctx->flc_lock);
-               list_for_each_entry(fl, &flctx->flc_posix, fl_list) {
+               for_each_file_lock(fl, &flctx->flc_posix) {
                        if (fl->fl_lmops == &nlmsvc_lock_operations) {
                                spin_unlock(&flctx->flc_lock);
                                return 1;