diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2017-06-09 03:28:53 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-06-14 13:06:01 (GMT) |
commit | 84bef90a454f818edd1abbe6b18d5238e6614971 (patch) | |
tree | 1cfb6e6aa8f21041d64fd09e1f1b6f905bc6474b /fs/ufs/inode.c | |
parent | 3d4922b5bb5b8fdc4c57768312bab47450324a00 (diff) | |
download | linux-84bef90a454f818edd1abbe6b18d5238e6614971.tar.xz |
ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path
commit 006351ac8ead0d4a67dd3845e3ceffe650a23212 upstream.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/ufs/inode.c')
-rw-r--r-- | fs/ufs/inode.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ufs/inode.c b/fs/ufs/inode.c index 27c994fb..a2760a2 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 ....? */ |