diff options
author | Benjamin Coddington <bcodding@redhat.com> | 2015-10-22 13:38:13 -0400 |
---|---|---|
committer | Jeff Layton <jeff.layton@primarydata.com> | 2015-10-22 14:57:20 -0400 |
commit | e55c34a66f87e78fb1fc6b623b78c5ad74b475af (patch) | |
tree | aefee1b4c4e7a0fb2c6ba1db9fee681e52e08506 /include/linux/fs.h | |
parent | 6ca7d910121af4dd8c83294b50546f4664b2a932 (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.h | 11 |
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 *); | |||
1059 | extern int vfs_lock_file(struct file *, unsigned int, struct file_lock *, struct file_lock *); | 1059 | extern int vfs_lock_file(struct file *, unsigned int, struct file_lock *, struct file_lock *); |
1060 | extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl); | 1060 | extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl); |
1061 | extern int flock_lock_inode_wait(struct inode *inode, struct file_lock *fl); | 1061 | extern int flock_lock_inode_wait(struct inode *inode, struct file_lock *fl); |
1062 | extern int locks_lock_inode_wait(struct inode *inode, struct file_lock *fl); | ||
1062 | extern int __break_lease(struct inode *inode, unsigned int flags, unsigned int type); | 1063 | extern int __break_lease(struct inode *inode, unsigned int flags, unsigned int type); |
1063 | extern void lease_get_mtime(struct inode *, struct timespec *time); | 1064 | extern void lease_get_mtime(struct inode *, struct timespec *time); |
1064 | extern int generic_setlease(struct file *, long, struct file_lock **, void **priv); | 1065 | extern 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 | ||
1181 | static inline int locks_lock_inode_wait(struct inode *inode, struct file_lock *fl) | ||
1182 | { | ||
1183 | return -ENOLCK; | ||
1184 | } | ||
1185 | |||
1180 | static inline int __break_lease(struct inode *inode, unsigned int mode, unsigned int type) | 1186 | static 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 | ||
1234 | static 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 | |||
1228 | struct fasync_struct { | 1239 | struct fasync_struct { |
1229 | spinlock_t fa_lock; | 1240 | spinlock_t fa_lock; |
1230 | int magic; | 1241 | int magic; |