--- x/fs/ext4/inode.c +++ i/fs/ext4/inode.c @@ -3161,7 +3161,7 @@ static sector_t ext4_bmap(struct address sector_t ret = 0; int err; - inode_lock_shared(inode); + down_read(&EXT4_I(inode)->xattr_sem); /* * We can get here for an inline file via the FIBMAP ioctl */ @@ -3211,7 +3211,7 @@ static sector_t ext4_bmap(struct address ret = iomap_bmap(mapping, block, &ext4_iomap_ops); out: - inode_unlock_shared(inode); + up_read(&EXT4_I(inode)->xattr_sem); return ret; }