]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - fs/btrfs/extent_map.h
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / fs / btrfs / extent_map.h
index fb6eeef06bb0a88abcf9297c2c6d9156a35af552..28b44dbd1e3508c37bd30a1ef990fd071b1096d0 100644 (file)
@@ -26,12 +26,13 @@ struct extent_map {
        unsigned long flags;
        struct block_device *bdev;
        atomic_t refs;
-       int in_tree;
+       unsigned int in_tree:1;
+       unsigned int compress_type:4;
 };
 
 struct extent_map_tree {
        struct rb_root map;
-       spinlock_t lock;
+       rwlock_t lock;
 };
 
 static inline u64 extent_map_end(struct extent_map *em)
@@ -59,4 +60,7 @@ struct extent_map *alloc_extent_map(gfp_t mask);
 void free_extent_map(struct extent_map *em);
 int __init extent_map_init(void);
 void extent_map_exit(void);
+int unpin_extent_cache(struct extent_map_tree *tree, u64 start, u64 len);
+struct extent_map *search_extent_mapping(struct extent_map_tree *tree,
+                                        u64 start, u64 len);
 #endif