btrfs: switch EXTENT_BUFFER_* to enums
[sfrench/cifs-2.6.git] / fs / btrfs / extent_io.h
index 369daa5d4f73d618a3aadf9793bc0bc2cc84c585..fd42492e62e5b3e3aeb807e5b0d2084ac3aef13f 100644 (file)
 #define EXTENT_BIO_COMPRESSED 1
 #define EXTENT_BIO_FLAG_SHIFT 16
 
-/* these are bit numbers for test/set bit */
-#define EXTENT_BUFFER_UPTODATE 0
-#define EXTENT_BUFFER_DIRTY 2
-#define EXTENT_BUFFER_CORRUPT 3
-#define EXTENT_BUFFER_READAHEAD 4      /* this got triggered by readahead */
-#define EXTENT_BUFFER_TREE_REF 5
-#define EXTENT_BUFFER_STALE 6
-#define EXTENT_BUFFER_WRITEBACK 7
-#define EXTENT_BUFFER_READ_ERR 8        /* read IO error */
-#define EXTENT_BUFFER_UNMAPPED 9
-#define EXTENT_BUFFER_IN_TREE 10
-#define EXTENT_BUFFER_WRITE_ERR 11    /* write IO error */
+enum {
+       EXTENT_BUFFER_UPTODATE,
+       EXTENT_BUFFER_DIRTY,
+       EXTENT_BUFFER_CORRUPT,
+       /* this got triggered by readahead */
+       EXTENT_BUFFER_READAHEAD,
+       EXTENT_BUFFER_TREE_REF,
+       EXTENT_BUFFER_STALE,
+       EXTENT_BUFFER_WRITEBACK,
+       /* read IO error */
+       EXTENT_BUFFER_READ_ERR,
+       EXTENT_BUFFER_UNMAPPED,
+       EXTENT_BUFFER_IN_TREE,
+       /* write IO error */
+       EXTENT_BUFFER_WRITE_ERR,
+};
 
 /* these are flags for __process_pages_contig */
 #define PAGE_UNLOCK            (1 << 0)
@@ -101,31 +105,6 @@ struct extent_io_ops {
        int (*readpage_end_io_hook)(struct btrfs_io_bio *io_bio, u64 phy_offset,
                                    struct page *page, u64 start, u64 end,
                                    int mirror);
-       int (*readpage_io_failed_hook)(struct page *page, int failed_mirror);
-
-       /*
-        * Optional hooks, called if the pointer is not NULL
-        */
-       int (*fill_delalloc)(void *private_data, struct page *locked_page,
-                            u64 start, u64 end, int *page_started,
-                            unsigned long *nr_written,
-                            struct writeback_control *wbc);
-
-       int (*writepage_start_hook)(struct page *page, u64 start, u64 end);
-       void (*writepage_end_io_hook)(struct page *page, u64 start, u64 end,
-                                     struct extent_state *state, int uptodate);
-       void (*set_bit_hook)(void *private_data, struct extent_state *state,
-                            unsigned *bits);
-       void (*clear_bit_hook)(void *private_data,
-                       struct extent_state *state,
-                       unsigned *bits);
-       void (*merge_extent_hook)(void *private_data,
-                                 struct extent_state *new,
-                                 struct extent_state *other);
-       void (*split_extent_hook)(void *private_data,
-                                 struct extent_state *orig, u64 split);
-       void (*check_extent_io_range)(void *private_data, const char *caller,
-                                     u64 start, u64 end);
 };
 
 struct extent_io_tree {
@@ -353,11 +332,11 @@ static inline int set_extent_dirty(struct extent_io_tree *tree, u64 start,
 }
 
 static inline int clear_extent_dirty(struct extent_io_tree *tree, u64 start,
-               u64 end)
+                                    u64 end, struct extent_state **cached)
 {
        return clear_extent_bit(tree, start, end,
                                EXTENT_DIRTY | EXTENT_DELALLOC |
-                               EXTENT_DO_ACCOUNTING, 0, 0, NULL);
+                               EXTENT_DO_ACCOUNTING, 0, 0, cached);
 }
 
 int convert_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
@@ -546,10 +525,9 @@ int free_io_failure(struct extent_io_tree *failure_tree,
                    struct extent_io_tree *io_tree,
                    struct io_failure_record *rec);
 #ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS
-u64 btrfs_find_lock_delalloc_range(struct inode *inode,
-                                     struct extent_io_tree *tree,
-                                     struct page *locked_page, u64 *start,
-                                     u64 *end, u64 max_bytes);
+u64 find_lock_delalloc_range(struct inode *inode, struct extent_io_tree *tree,
+                            struct page *locked_page, u64 *start,
+                            u64 *end);
 #endif
 struct extent_buffer *alloc_test_extent_buffer(struct btrfs_fs_info *fs_info,
                                               u64 start);