locks: introduce locks_lock_inode_wait()
Users of the locks API commonly call either posix_lock_file_wait() or flock_lock_file_wait() depending upon the lock type. Add a new function locks_lock_inode_wait() which will check and call the correct function for the type of lock passed in. Signed-off-by: Benjamin Coddington <bcodding@redhat.com> Signed-off-by: Jeff Layton <jeff.layton@primarydata.com>
This commit is contained in:
committed by
Jeff Layton
parent
6ca7d91012
commit
e55c34a66f
24
fs/locks.c
24
fs/locks.c
@@ -1881,6 +1881,30 @@ int flock_lock_inode_wait(struct inode *inode, struct file_lock *fl)
|
||||
}
|
||||
EXPORT_SYMBOL(flock_lock_inode_wait);
|
||||
|
||||
/**
|
||||
* locks_lock_inode_wait - Apply a lock to an inode
|
||||
* @inode: inode of the file to apply to
|
||||
* @fl: The lock to be applied
|
||||
*
|
||||
* Apply a POSIX or FLOCK style lock request to an inode.
|
||||
*/
|
||||
int locks_lock_inode_wait(struct inode *inode, struct file_lock *fl)
|
||||
{
|
||||
int res = 0;
|
||||
switch (fl->fl_flags & (FL_POSIX|FL_FLOCK)) {
|
||||
case FL_POSIX:
|
||||
res = posix_lock_inode_wait(inode, fl);
|
||||
break;
|
||||
case FL_FLOCK:
|
||||
res = flock_lock_inode_wait(inode, fl);
|
||||
break;
|
||||
default:
|
||||
BUG();
|
||||
}
|
||||
return res;
|
||||
}
|
||||
EXPORT_SYMBOL(locks_lock_inode_wait);
|
||||
|
||||
/**
|
||||
* sys_flock: - flock() system call.
|
||||
* @fd: the file descriptor to lock.
|
||||
|
||||
Reference in New Issue
Block a user