ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 9 Jun 2017 03:28:53 +0000 (23:28 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 9 Jun 2017 20:28:01 +0000 (16:28 -0400)
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/ufs/inode.c

index 966cced0f88e7d2f6583bc85c2a8c7e0527ba0c2..9bf10285c6289d05a8ed6a3d26ab2b42fc306e23 100644 (file)
@@ -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 ....? */