diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2018-05-24 20:03:25 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2018-06-01 17:28:35 -0400 |
commit | 0c1830d1805ff20bee3b4bae1a168b9b63bd57f2 (patch) | |
tree | d5d67aa4649b54b03fa28b8e8d0089c2fcea56c9 | |
parent | 55ecefff61941145f99378076799e0e4604b2e83 (diff) |
bcachefs: fix an error path in fcollapse
-rw-r--r-- | fs/bcachefs/fs-io.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c index fe1330e6bd87..43a3154ee5ba 100644 --- a/fs/bcachefs/fs-io.c +++ b/fs/bcachefs/fs-io.c @@ -2366,8 +2366,11 @@ static long bch2_fcollapse(struct bch_inode_info *inode, btree_iter_err: if (ret == -EINTR) ret = 0; - if (ret) + if (ret) { + bch2_btree_iter_unlock(&src); + bch2_btree_iter_unlock(&dst); goto err_put_sectors_dirty; + } /* * XXX: if we error here we've left data with multiple * pointers... which isn't a _super_ serious problem... @@ -2393,9 +2396,6 @@ err_put_sectors_dirty: err: pagecache_block_put(&mapping->add_lock); inode_unlock(&inode->v); - - bch2_btree_iter_unlock(&src); - bch2_btree_iter_unlock(&dst); return ret; } |