There's no reason we need to lock the inode for write in order to handle an llseek. I suspect this should have been dropped in 2013 when we stopped doing vmtruncate in llseek. Fixes: b0d7c2231015 (ceph: introduce i_truncate_mutex) Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> --- fs/ceph/file.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 0c13a3f23c99..7d2e9615614d 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -1994,8 +1994,6 @@ static loff_t ceph_llseek(struct file *file, loff_t offset, int whence) loff_t i_size; loff_t ret; - inode_lock(inode); - if (whence == SEEK_END || whence == SEEK_DATA || whence == SEEK_HOLE) { ret = ceph_do_getattr(inode, CEPH_STAT_CAP_SIZE, false); if (ret < 0) @@ -2038,7 +2036,6 @@ static loff_t ceph_llseek(struct file *file, loff_t offset, int whence) ret = vfs_setpos(file, offset, max(i_size, fsc->max_file_size)); out: - inode_unlock(inode); return ret; } -- 2.36.1