summaryrefslogtreecommitdiffstats
path: root/fs/ufs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2017-06-08 23:28:53 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2017-06-09 16:28:01 -0400
commit006351ac8ead0d4a67dd3845e3ceffe650a23212 (patch)
treec795c3a3fff0043f9a4df82a2253f38fb301dd4c /fs/ufs
parent940ef1a0ed939c2ca029fca715e25e7778ce1e34 (diff)
downloadlinux-006351ac8ead0d4a67dd3845e3ceffe650a23212.tar.gz
linux-006351ac8ead0d4a67dd3845e3ceffe650a23212.tar.bz2
linux-006351ac8ead0d4a67dd3845e3ceffe650a23212.zip
ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path
Cc: stable@vger.kernel.org Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ufs')
-rw-r--r--fs/ufs/inode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ufs/inode.c b/fs/ufs/inode.c
index 966cced0f88e..9bf10285c628 100644
--- a/fs/ufs/inode.c
+++ b/fs/ufs/inode.c
@@ -403,7 +403,9 @@ static int ufs_getfrag_block(struct inode *inode, sector_t fragment, struct buff
if (!create) {
phys64 = ufs_frag_map(inode, offsets, depth);
- goto out;
+ if (phys64)
+ map_bh(bh_result, sb, phys64 + frag);
+ return 0;
}
/* This code entered only while writing ....? */