]> git.ipfire.org Git - people/ms/linux.git/blobdiff - fs/ext4/ext4.h
Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git...
[people/ms/linux.git] / fs / ext4 / ext4.h
index 9bca5565547baeb0bc5e77e94082b2b5d81b4a75..3bf9a6926798f844aa5a9763e9028a20f71fba4a 100644 (file)
@@ -167,8 +167,6 @@ enum SHIFT_DIRECTION {
 #define EXT4_MB_CR0_OPTIMIZED          0x8000
 /* Avg fragment size rb tree lookup succeeded at least once for cr = 1 */
 #define EXT4_MB_CR1_OPTIMIZED          0x00010000
-/* Perform linear traversal for one group */
-#define EXT4_MB_SEARCH_NEXT_LINEAR     0x00020000
 struct ext4_allocation_request {
        /* target inode for block we're allocating */
        struct inode *inode;
@@ -1600,8 +1598,8 @@ struct ext4_sb_info {
        struct list_head s_discard_list;
        struct work_struct s_discard_work;
        atomic_t s_retry_alloc_pending;
-       struct rb_root s_mb_avg_fragment_size_root;
-       rwlock_t s_mb_rb_lock;
+       struct list_head *s_mb_avg_fragment_size;
+       rwlock_t *s_mb_avg_fragment_size_locks;
        struct list_head *s_mb_largest_free_orders;
        rwlock_t *s_mb_largest_free_orders_locks;
 
@@ -3413,6 +3411,8 @@ struct ext4_group_info {
        ext4_grpblk_t   bb_first_free;  /* first free block */
        ext4_grpblk_t   bb_free;        /* total free blocks */
        ext4_grpblk_t   bb_fragments;   /* nr of freespace fragments */
+       int             bb_avg_fragment_size_order;     /* order of average
+                                                          fragment in BG */
        ext4_grpblk_t   bb_largest_free_order;/* order of largest frag in BG */
        ext4_group_t    bb_group;       /* Group number */
        struct          list_head bb_prealloc_list;
@@ -3420,7 +3420,7 @@ struct ext4_group_info {
        void            *bb_bitmap;
 #endif
        struct rw_semaphore alloc_sem;
-       struct rb_node  bb_avg_fragment_size_rb;
+       struct list_head bb_avg_fragment_size_node;
        struct list_head bb_largest_free_order_node;
        ext4_grpblk_t   bb_counters[];  /* Nr of free power-of-two-block
                                         * regions, index is order.