diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-04-20 19:59:01 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-05-09 11:41:13 -0400 |
commit | 8cb0d2c1c7dea61e9b976cadedeae228f1180cbd (patch) | |
tree | 521e54ca0f02bc377faf911038bb2f61534f0a3e /fs/kernfs/dir.c | |
parent | a01b3007ffb9be0180e744f0d15b130b0a76a29f (diff) |
kernfs: no point locking directory around that generic_file_llseek()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/kernfs/dir.c')
-rw-r--r-- | fs/kernfs/dir.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c index 03b688d19f69..4f61d19cde18 100644 --- a/fs/kernfs/dir.c +++ b/fs/kernfs/dir.c | |||
@@ -1643,22 +1643,9 @@ static int kernfs_fop_readdir(struct file *file, struct dir_context *ctx) | |||
1643 | return 0; | 1643 | return 0; |
1644 | } | 1644 | } |
1645 | 1645 | ||
1646 | static loff_t kernfs_dir_fop_llseek(struct file *file, loff_t offset, | ||
1647 | int whence) | ||
1648 | { | ||
1649 | struct inode *inode = file_inode(file); | ||
1650 | loff_t ret; | ||
1651 | |||
1652 | inode_lock(inode); | ||
1653 | ret = generic_file_llseek(file, offset, whence); | ||
1654 | inode_unlock(inode); | ||
1655 | |||
1656 | return ret; | ||
1657 | } | ||
1658 | |||
1659 | const struct file_operations kernfs_dir_fops = { | 1646 | const struct file_operations kernfs_dir_fops = { |
1660 | .read = generic_read_dir, | 1647 | .read = generic_read_dir, |
1661 | .iterate = kernfs_fop_readdir, | 1648 | .iterate_shared = kernfs_fop_readdir, |
1662 | .release = kernfs_dir_fop_release, | 1649 | .release = kernfs_dir_fop_release, |
1663 | .llseek = kernfs_dir_fop_llseek, | 1650 | .llseek = generic_file_llseek, |
1664 | }; | 1651 | }; |