aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fs.h
diff options
context:
space:
mode:
authorBenjamin Coddington <bcodding@redhat.com>2015-10-22 13:38:13 -0400
committerJeff Layton <jeff.layton@primarydata.com>2015-10-22 14:57:20 -0400
commite55c34a66f87e78fb1fc6b623b78c5ad74b475af (patch)
treeaefee1b4c4e7a0fb2c6ba1db9fee681e52e08506 /include/linux/fs.h
parent6ca7d910121af4dd8c83294b50546f4664b2a932 (diff)
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>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 72d8a844c692..b064d4c0b233 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1059,6 +1059,7 @@ extern int vfs_test_lock(struct file *, struct file_lock *);
1059extern int vfs_lock_file(struct file *, unsigned int, struct file_lock *, struct file_lock *); 1059extern int vfs_lock_file(struct file *, unsigned int, struct file_lock *, struct file_lock *);
1060extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl); 1060extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl);
1061extern int flock_lock_inode_wait(struct inode *inode, struct file_lock *fl); 1061extern int flock_lock_inode_wait(struct inode *inode, struct file_lock *fl);
1062extern int locks_lock_inode_wait(struct inode *inode, struct file_lock *fl);
1062extern int __break_lease(struct inode *inode, unsigned int flags, unsigned int type); 1063extern int __break_lease(struct inode *inode, unsigned int flags, unsigned int type);
1063extern void lease_get_mtime(struct inode *, struct timespec *time); 1064extern void lease_get_mtime(struct inode *, struct timespec *time);
1064extern int generic_setlease(struct file *, long, struct file_lock **, void **priv); 1065extern int generic_setlease(struct file *, long, struct file_lock **, void **priv);
@@ -1177,6 +1178,11 @@ static inline int flock_lock_inode_wait(struct inode *inode,
1177 return -ENOLCK; 1178 return -ENOLCK;
1178} 1179}
1179 1180
1181static inline int locks_lock_inode_wait(struct inode *inode, struct file_lock *fl)
1182{
1183 return -ENOLCK;
1184}
1185
1180static inline int __break_lease(struct inode *inode, unsigned int mode, unsigned int type) 1186static inline int __break_lease(struct inode *inode, unsigned int mode, unsigned int type)
1181{ 1187{
1182 return 0; 1188 return 0;
@@ -1225,6 +1231,11 @@ static inline int flock_lock_file_wait(struct file *filp, struct file_lock *fl)
1225 return flock_lock_inode_wait(file_inode(filp), fl); 1231 return flock_lock_inode_wait(file_inode(filp), fl);
1226} 1232}
1227 1233
1234static inline int locks_lock_file_wait(struct file *filp, struct file_lock *fl)
1235{
1236 return locks_lock_inode_wait(file_inode(filp), fl);
1237}
1238
1228struct fasync_struct { 1239struct fasync_struct {
1229 spinlock_t fa_lock; 1240 spinlock_t fa_lock;
1230 int magic; 1241 int magic;