mirror of
https://github.com/torvalds/linux
synced 2024-10-14 23:39:09 +00:00
lockd: convert to using new filelock helpers
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>
This commit is contained in:
parent
b4c6d52d8a
commit
872584f1bb
|
@ -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 @@ nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl)
|
|||
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 @@ nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl)
|
|||
* 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 @@ nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl)
|
|||
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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue