diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-11-04 12:53:59 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2019-11-04 12:53:59 -0500 |
commit | 6016d33b801a5fe13e86e5be3abf68ed166c0796 (patch) | |
tree | 47a42030c705d19e6b74ea785e82f123a10015b0 /libbcachefs/reflink.c | |
parent | 61bc316a4da4831d8812eb5051732cca27652d8d (diff) |
Update bcachefs sources to 9e76e8d98c bcachefs: Fix uninitialized field in hash_check_init()
Diffstat (limited to 'libbcachefs/reflink.c')
-rw-r--r-- | libbcachefs/reflink.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libbcachefs/reflink.c b/libbcachefs/reflink.c index 4a4b17f9..6d45ae24 100644 --- a/libbcachefs/reflink.c +++ b/libbcachefs/reflink.c @@ -166,6 +166,9 @@ s64 bch2_remap_range(struct bch_fs *c, u64 src_done, dst_done; int ret = 0, ret2 = 0; + if (!percpu_ref_tryget(&c->writes)) + return -EROFS; + if (!(c->sb.features & (1ULL << BCH_FEATURE_REFLINK))) { mutex_lock(&c->sb_lock); if (!(c->sb.features & (1ULL << BCH_FEATURE_REFLINK))) { @@ -295,5 +298,7 @@ err: ret = bch2_trans_exit(&trans) ?: ret; + percpu_ref_put(&c->writes); + return dst_done ?: ret ?: ret2; } |