diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-08-21 23:52:10 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2019-08-22 11:09:18 -0400 |
commit | 476fc4c936c807b924e01e6dd3ecbde58bc69f94 (patch) | |
tree | 74f7894dce8207b41e68331c0c422c420c7fd5d8 | |
parent | d2b8aad25be7bb8247b15635b32cde326afbbb2c (diff) |
bcachefs: Fix faulty assertion
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r-- | fs/bcachefs/buckets.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c index d6dcbf91cd80..2bcf929a6d0d 100644 --- a/fs/bcachefs/buckets.c +++ b/fs/bcachefs/buckets.c @@ -1483,8 +1483,6 @@ static int bch2_trans_mark_stripe_ptr(struct btree_trans *trans, s64 parity_sectors; int ret = 0; - BUG_ON(!sectors); - ret = trans_get_key(trans, BTREE_ID_EC, POS(0, p.idx), &iter, &k); if (ret) return ret; @@ -1549,6 +1547,12 @@ static int bch2_trans_mark_extent(struct btree_trans *trans, ? sectors : ptr_disk_sectors_delta(p, offset, sectors, flags); + /* + * can happen due to rounding with compressed extents: + */ + if (!disk_sectors) + continue; + ret = bch2_trans_mark_pointer(trans, p, disk_sectors, data_type); if (ret < 0) |