locks: rename lease functions to reflect locks.c conventions
We've been using the convention that vfs_foo is the function that calls a filesystem-specific foo method if it exists, or falls back on a generic method if it doesn't; thus vfs_foo is what is called when some other part of the kernel (normally lockd or nfsd) wants to get a lock, whereas foo is what filesystems call to use the underlying local functionality as part of their lock implementation. So rename setlease to vfs_setlease (which will call a filesystem-specific setlease after a later patch) and __setlease to setlease. Also, vfs_setlease need only be GPL-exported as long as it's only needed by lockd and nfsd. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
This commit is contained in:
Родитель
6d5e8b05ca
Коммит
a9933cea7a
15
fs/locks.c
15
fs/locks.c
|
@ -1326,7 +1326,7 @@ int fcntl_getlease(struct file *filp)
|
|||
}
|
||||
|
||||
/**
|
||||
* __setlease - sets a lease on an open file
|
||||
* setlease - sets a lease on an open file
|
||||
* @filp: file pointer
|
||||
* @arg: type of lease to obtain
|
||||
* @flp: input - file_lock to use, output - file_lock inserted
|
||||
|
@ -1336,7 +1336,7 @@ int fcntl_getlease(struct file *filp)
|
|||
*
|
||||
* Called with kernel lock held.
|
||||
*/
|
||||
static int __setlease(struct file *filp, long arg, struct file_lock **flp)
|
||||
static int setlease(struct file *filp, long arg, struct file_lock **flp)
|
||||
{
|
||||
struct file_lock *fl, **before, **my_before = NULL, *lease;
|
||||
struct dentry *dentry = filp->f_path.dentry;
|
||||
|
@ -1423,7 +1423,7 @@ out:
|
|||
}
|
||||
|
||||
/**
|
||||
* setlease - sets a lease on an open file
|
||||
* vfs_setlease - sets a lease on an open file
|
||||
* @filp: file pointer
|
||||
* @arg: type of lease to obtain
|
||||
* @lease: file_lock to use
|
||||
|
@ -1432,18 +1432,17 @@ out:
|
|||
* The fl_lmops fl_break function is required by break_lease
|
||||
*/
|
||||
|
||||
int setlease(struct file *filp, long arg, struct file_lock **lease)
|
||||
int vfs_setlease(struct file *filp, long arg, struct file_lock **lease)
|
||||
{
|
||||
int error;
|
||||
|
||||
lock_kernel();
|
||||
error = __setlease(filp, arg, lease);
|
||||
error = setlease(filp, arg, lease);
|
||||
unlock_kernel();
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(setlease);
|
||||
EXPORT_SYMBOL_GPL(vfs_setlease);
|
||||
|
||||
/**
|
||||
* fcntl_setlease - sets a lease on an open file
|
||||
|
@ -1469,7 +1468,7 @@ int fcntl_setlease(unsigned int fd, struct file *filp, long arg)
|
|||
|
||||
lock_kernel();
|
||||
|
||||
error = __setlease(filp, arg, &flp);
|
||||
error = vfs_setlease(filp, arg, &flp);
|
||||
if (error || arg == F_UNLCK)
|
||||
goto out_unlock;
|
||||
|
||||
|
|
|
@ -256,7 +256,7 @@ nfs4_close_delegation(struct nfs4_delegation *dp)
|
|||
/* The following nfsd_close may not actually close the file,
|
||||
* but we want to remove the lease in any case. */
|
||||
if (dp->dl_flock)
|
||||
setlease(filp, F_UNLCK, &dp->dl_flock);
|
||||
vfs_setlease(filp, F_UNLCK, &dp->dl_flock);
|
||||
nfsd_close(filp);
|
||||
}
|
||||
|
||||
|
@ -1402,7 +1402,7 @@ void nfsd_release_deleg_cb(struct file_lock *fl)
|
|||
/*
|
||||
* Set the delegation file_lock back pointer.
|
||||
*
|
||||
* Called from __setlease() with lock_kernel() held.
|
||||
* Called from setlease() with lock_kernel() held.
|
||||
*/
|
||||
static
|
||||
void nfsd_copy_lock_deleg_cb(struct file_lock *new, struct file_lock *fl)
|
||||
|
@ -1416,7 +1416,7 @@ void nfsd_copy_lock_deleg_cb(struct file_lock *new, struct file_lock *fl)
|
|||
}
|
||||
|
||||
/*
|
||||
* Called from __setlease() with lock_kernel() held
|
||||
* Called from setlease() with lock_kernel() held
|
||||
*/
|
||||
static
|
||||
int nfsd_same_client_deleg_cb(struct file_lock *onlist, struct file_lock *try)
|
||||
|
@ -1716,10 +1716,10 @@ nfs4_open_delegation(struct svc_fh *fh, struct nfsd4_open *open, struct nfs4_sta
|
|||
fl.fl_file = stp->st_vfs_file;
|
||||
fl.fl_pid = current->tgid;
|
||||
|
||||
/* setlease checks to see if delegation should be handed out.
|
||||
/* vfs_setlease checks to see if delegation should be handed out.
|
||||
* the lock_manager callbacks fl_mylease and fl_change are used
|
||||
*/
|
||||
if ((status = setlease(stp->st_vfs_file,
|
||||
if ((status = vfs_setlease(stp->st_vfs_file,
|
||||
flag == NFS4_OPEN_DELEGATE_READ? F_RDLCK: F_WRLCK, &flp))) {
|
||||
dprintk("NFSD: setlease failed [%d], no delegation\n", status);
|
||||
unhash_delegation(dp);
|
||||
|
|
|
@ -872,7 +872,7 @@ extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl);
|
|||
extern int flock_lock_file_wait(struct file *filp, struct file_lock *fl);
|
||||
extern int __break_lease(struct inode *inode, unsigned int flags);
|
||||
extern void lease_get_mtime(struct inode *, struct timespec *time);
|
||||
extern int setlease(struct file *, long, struct file_lock **);
|
||||
extern int vfs_setlease(struct file *, long, struct file_lock **);
|
||||
extern int lease_modify(struct file_lock **, int);
|
||||
extern int lock_may_read(struct inode *, loff_t start, unsigned long count);
|
||||
extern int lock_may_write(struct inode *, loff_t start, unsigned long count);
|
||||
|
|
Загрузка…
Ссылка в новой задаче