diff options
Diffstat (limited to 'libbcachefs/io_write.c')
-rw-r--r-- | libbcachefs/io_write.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/libbcachefs/io_write.c b/libbcachefs/io_write.c index 52a60982..b9d624e8 100644 --- a/libbcachefs/io_write.c +++ b/libbcachefs/io_write.c @@ -1208,16 +1208,13 @@ static bool bch2_extent_is_writeable(struct bch_write_op *op, e = bkey_s_c_to_extent(k); - rcu_read_lock(); + guard(rcu)(); extent_for_each_ptr_decode(e, p, entry) { - if (crc_is_encoded(p.crc) || p.has_ec) { - rcu_read_unlock(); + if (crc_is_encoded(p.crc) || p.has_ec) return false; - } replicas += bch2_extent_ptr_durability(c, &p); } - rcu_read_unlock(); return replicas >= op->opts.data_replicas; } |