locks: remove lock_may_read and lock_may_write
There are no callers of these functions. Signed-off-by: Jeff Layton <jlayton@primarydata.com>
This commit is contained in:
parent
09802fd2a8
commit
699688a416
2 changed files with 0 additions and 94 deletions
80
fs/locks.c
80
fs/locks.c
|
@ -2597,86 +2597,6 @@ static int __init proc_locks_init(void)
|
||||||
module_init(proc_locks_init);
|
module_init(proc_locks_init);
|
||||||
#endif
|
#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)
|
static int __init filelock_init(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -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 generic_setlease(struct file *, long, struct file_lock **);
|
||||||
extern int vfs_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 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 */
|
#else /* !CONFIG_FILE_LOCKING */
|
||||||
static inline int fcntl_getlk(struct file *file, unsigned int cmd,
|
static inline int fcntl_getlk(struct file *file, unsigned int cmd,
|
||||||
struct flock __user *user)
|
struct flock __user *user)
|
||||||
|
@ -1117,18 +1115,6 @@ static inline int lease_modify(struct file_lock **before, int arg)
|
||||||
{
|
{
|
||||||
return -EINVAL;
|
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 */
|
#endif /* !CONFIG_FILE_LOCKING */
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue