fs: use loff_t for file offset in extent_map library
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/fs/extent_map.c b/fs/extent_map.c
index 220a260..2c6ebb4 100644
--- a/fs/extent_map.c
+++ b/fs/extent_map.c
@@ -52,7 +52,7 @@
}
EXPORT_SYMBOL(free_extent_map);
-static struct rb_node *tree_insert(struct rb_root *root, u64 offset,
+static struct rb_node *tree_insert(struct rb_root *root, loff_t offset,
struct rb_node *node)
{
struct rb_node ** p = &root->rb_node;
@@ -77,7 +77,7 @@
return NULL;
}
-static struct rb_node *__tree_search(struct rb_root *root, u64 offset,
+static struct rb_node *__tree_search(struct rb_root *root, loff_t offset,
struct rb_node **prev_ret)
{
struct rb_node * n = root->rb_node;
@@ -107,7 +107,7 @@
return NULL;
}
-static inline struct rb_node *tree_search(struct rb_root *root, u64 offset)
+static inline struct rb_node *tree_search(struct rb_root *root, loff_t offset)
{
struct rb_node *prev;
struct rb_node *ret;
@@ -117,7 +117,7 @@
return ret;
}
-static int tree_delete(struct rb_root *root, u64 offset)
+static int tree_delete(struct rb_root *root, loff_t offset)
{
struct rb_node *node;
struct extent_map *entry;
@@ -201,7 +201,7 @@
* returned carefully to make sure you don't need additional lookups.
*/
struct extent_map *lookup_extent_mapping(struct extent_map_tree *tree,
- u64 start, u64 len)
+ loff_t start, u64 len)
{
struct extent_map *em;
struct extent_map *last;
@@ -257,7 +257,7 @@
static struct extent_map *__map_extent(struct extent_map_tree *tree,
struct address_space *mapping,
- u64 start, u64 len, int create,
+ loff_t start, u64 len, int create,
gfp_t gfp_mask, get_block_t get_block)
{
struct inode *inode = mapping->host;
@@ -321,7 +321,7 @@
}
if (buffer_mapped(&result))
- em->block_start = (u64)result.b_blocknr << inode->i_blkbits;
+ em->block_start = (loff_t)result.b_blocknr << inode->i_blkbits;
else {
em->block_start = EXTENT_MAP_HOLE;
if (create) {
@@ -339,11 +339,11 @@
struct extent_map *map_extent_get_block(struct extent_map_tree *tree,
struct address_space *mapping,
- u64 start, u64 len, int create,
+ loff_t start, u64 len, int create,
gfp_t gfp_mask, get_block_t get_block)
{
struct extent_map *em;
- u64 last;
+ loff_t last;
u64 map_ahead_len = 0;
em = __map_extent(tree, mapping, start, len, create,
@@ -383,8 +383,7 @@
}
EXPORT_SYMBOL(map_extent_get_block);
-int remove_extent_mappings(struct extent_map_tree *tree,
- u64 start, u64 len)
+int remove_extent_mappings(struct extent_map_tree *tree, loff_t start, u64 len)
{
struct extent_map *em;
diff --git a/include/linux/extent_map.h b/include/linux/extent_map.h
index 496e990..1189f1f 100644
--- a/include/linux/extent_map.h
+++ b/include/linux/extent_map.h
@@ -21,35 +21,35 @@
struct extent_map {
struct rb_node rb_node;
- u64 start;
+ loff_t start;
u64 len;
- u64 block_start;
+ sector_t block_start;
struct block_device *bdev;
atomic_t refs;
unsigned long flags;
};
-static inline u64 extent_map_end(struct extent_map *em)
+static inline loff_t extent_map_end(struct extent_map *em)
{
return em->start + em->len;
}
-static inline u64 extent_map_block_end(struct extent_map *em)
+static inline loff_t extent_map_block_end(struct extent_map *em)
{
return em->block_start + em->len;
}
void extent_map_tree_init(struct extent_map_tree *tree);
struct extent_map *lookup_extent_mapping(struct extent_map_tree *tree,
- u64 start, u64 end);
+ loff_t start, u64 len);
struct extent_map *map_extent_get_block(struct extent_map_tree *tree,
struct address_space *mapping,
- u64 start, u64 len, int create,
+ loff_t start, u64 len, int create,
gfp_t gfp_mask, get_block_t get_block);
int add_extent_mapping(struct extent_map_tree *tree,
struct extent_map *em);
int remove_extent_mappings(struct extent_map_tree *tree,
- u64 start, u64 len);
+ loff_t start, u64 len);
int remove_extent_mapping(struct extent_map_tree *tree, struct extent_map *em);
struct extent_map *alloc_extent_map(gfp_t mask);
void free_extent_map(struct extent_map *em);