btrfs: zoned: redirty released extent buffers
[linux-2.6-microblaze.git] / fs / btrfs / extent_io.c
index 4be117a..eedcfb4 100644 (file)
@@ -25,6 +25,7 @@
 #include "backref.h"
 #include "disk-io.h"
 #include "subpage.h"
+#include "zoned.h"
 
 static struct kmem_cache *extent_state_cache;
 static struct kmem_cache *extent_buffer_cache;
@@ -5182,6 +5183,7 @@ __alloc_extent_buffer(struct btrfs_fs_info *fs_info, u64 start,
 
        btrfs_leak_debug_add(&fs_info->eb_leak_lock, &eb->leak_list,
                             &fs_info->allocated_ebs);
+       INIT_LIST_HEAD(&eb->release_list);
 
        spin_lock_init(&eb->refs_lock);
        atomic_set(&eb->refs, 1);
@@ -6111,6 +6113,8 @@ void write_extent_buffer(const struct extent_buffer *eb, const void *srcv,
        char *src = (char *)srcv;
        unsigned long i = get_eb_page_index(start);
 
+       WARN_ON(test_bit(EXTENT_BUFFER_NO_CHECK, &eb->bflags));
+
        if (check_eb_range(eb, start, len))
                return;