locks: remove lock_may_read and lock_may_write
Subsystems (4)
PATCH 1/1 locks: remove lock_may_read and lock_may_write
There are no callers of these functions.
Signed-off-by Jeff Layton <[email protected]>
--- fs/locks.c | 80 ------------------------------------------------------ include/linux/fs.h | 14 ---------- 2 files changed, 94 deletions(-)
fs/locks.c +0 -80
@@ -2597,86 +2597,6 @@ static int __init proc_locks_init(void)module_init (proc_locks_init);#endif -/** -* lock_may_read - checks that the region is free of locks -* @inode: the inode that is being read -* @start: the first byte to read -* @len: the number of bytes to read -* -* Emulates Windows locking requirements. Whole-file -* mandatory locks (share modes) can prohibit a read and -* byte-range POSIX locks can prohibit a read if they overlap. -* -* N.B. this function is only ever called -* from knfsd and ownership of locks is never checked. -*/ -int lock_may_read (struct inode *inode,loff_t start,unsigned long len) -{ -struct file_lock *fl; -int result =1 ; - -spin_lock (&inode->i_lock); -for (fl = inode->i_flock; fl !=NULL ; fl = fl->fl_next) { -if (IS_POSIX (fl)) { -if (fl->fl_type ==F_RDLCK ) -continue ; -if ((fl->fl_end < start) || (fl->fl_start > (start + len))) -continue ; - }else if (IS_FLOCK (fl)) { -if (!(fl->fl_type &LOCK_MAND )) -continue ; -if (fl->fl_type &LOCK_READ ) -continue ; - }else -continue ; - result =0 ; -break ; - } -spin_unlock (&inode->i_lock); -return result; -} - -EXPORT_SYMBOL (lock_may_read); - -/** -* lock_may_write - checks that the region is free of locks -* @inode: the inode that is being written -* @start: the first byte to write -* @len: the number of bytes to write -* -* Emulates Windows locking requirements. Whole-file -* mandatory locks (share modes) can prohibit a write and -* byte-range POSIX locks can prohibit a write if they overlap. -* -* N.B. this function is only ever called -* from knfsd and ownership of locks is never checked. -*/ -int lock_may_write (struct inode *inode,loff_t start,unsigned long len) -{ -struct file_lock *fl; -int result =1 ; - -spin_lock (&inode->i_lock); -for (fl = inode->i_flock; fl !=NULL ; fl = fl->fl_next) { -if (IS_POSIX (fl)) { -if ((fl->fl_end < start) || (fl->fl_start > (start + len))) -continue ; - }else if (IS_FLOCK (fl)) { -if (!(fl->fl_type &LOCK_MAND )) -continue ; -if (fl->fl_type &LOCK_WRITE ) -continue ; - }else -continue ; - result =0 ; -break ; - } -spin_unlock (&inode->i_lock); -return result; -} - -EXPORT_SYMBOL (lock_may_write); -static int __init filelock_init (void ) {int i;
include/linux/fs.h +0 -14
@@ -985,8 +985,6 @@ extern void lease_get_mtime(struct inode *, struct timespec *time);extern int generic_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);#else /* !CONFIG_FILE_LOCKING */ static inline int fcntl_getlk (struct file *file,unsigned int cmd,struct flock __user *user)
@@ -1117,18 +1115,6 @@ static inline int lease_modify(struct file_lock **before, int arg) {return -EINVAL ; } - -static inline int lock_may_read (struct inode *inode,loff_t start, -unsigned long len) -{ -return 1 ; -} - -static inline int lock_may_write (struct inode *inode,loff_t start, -unsigned long len) -{ -return 1 ; -}#endif /* !CONFIG_FILE_LOCKING */
Signature · 1 line
1.9.3