projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'fst-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux...
[cascardo/linux.git]
/
fs
/
btrfs
/
free-space-tree.c
diff --git
a/fs/btrfs/free-space-tree.c
b/fs/btrfs/free-space-tree.c
index
e4a42a8
..
57401b4
100644
(file)
--- a/
fs/btrfs/free-space-tree.c
+++ b/
fs/btrfs/free-space-tree.c
@@
-151,7
+151,7
@@
static inline u32 free_space_bitmap_size(u64 size, u32 sectorsize)
return DIV_ROUND_UP((u32)div_u64(size, sectorsize), BITS_PER_BYTE);
}
return DIV_ROUND_UP((u32)div_u64(size, sectorsize), BITS_PER_BYTE);
}
-static u
nsigned long
*alloc_bitmap(u32 bitmap_size)
+static u
8
*alloc_bitmap(u32 bitmap_size)
{
void *mem;
{
void *mem;
@@
-180,8
+180,7
@@
int convert_free_space_to_bitmaps(struct btrfs_trans_handle *trans,
struct btrfs_free_space_info *info;
struct btrfs_key key, found_key;
struct extent_buffer *leaf;
struct btrfs_free_space_info *info;
struct btrfs_key key, found_key;
struct extent_buffer *leaf;
- unsigned long *bitmap;
- char *bitmap_cursor;
+ u8 *bitmap, *bitmap_cursor;
u64 start, end;
u64 bitmap_range, i;
u32 bitmap_size, flags, expected_extent_count;
u64 start, end;
u64 bitmap_range, i;
u32 bitmap_size, flags, expected_extent_count;
@@
-231,7
+230,7
@@
int convert_free_space_to_bitmaps(struct btrfs_trans_handle *trans,
block_group->sectorsize);
last = div_u64(found_key.objectid + found_key.offset - start,
block_group->sectorsize);
block_group->sectorsize);
last = div_u64(found_key.objectid + found_key.offset - start,
block_group->sectorsize);
- bitmap_set(bitmap, first, last - first);
+
le_
bitmap_set(bitmap, first, last - first);
extent_count++;
nr++;
extent_count++;
nr++;
@@
-270,7
+269,7
@@
int convert_free_space_to_bitmaps(struct btrfs_trans_handle *trans,
goto out;
}
goto out;
}
- bitmap_cursor =
(char *)
bitmap;
+ bitmap_cursor = bitmap;
bitmap_range = block_group->sectorsize * BTRFS_FREE_SPACE_BITMAP_BITS;
i = start;
while (i < end) {
bitmap_range = block_group->sectorsize * BTRFS_FREE_SPACE_BITMAP_BITS;
i = start;
while (i < end) {
@@
-319,7
+318,7
@@
int convert_free_space_to_extents(struct btrfs_trans_handle *trans,
struct btrfs_free_space_info *info;
struct btrfs_key key, found_key;
struct extent_buffer *leaf;
struct btrfs_free_space_info *info;
struct btrfs_key key, found_key;
struct extent_buffer *leaf;
- u
nsigned long
*bitmap;
+ u
8
*bitmap;
u64 start, end;
/* Initialize to silence GCC. */
u64 extent_start = 0;
u64 start, end;
/* Initialize to silence GCC. */
u64 extent_start = 0;
@@
-363,7
+362,7
@@
int convert_free_space_to_extents(struct btrfs_trans_handle *trans,
break;
} else if (found_key.type == BTRFS_FREE_SPACE_BITMAP_KEY) {
unsigned long ptr;
break;
} else if (found_key.type == BTRFS_FREE_SPACE_BITMAP_KEY) {
unsigned long ptr;
-
char
*bitmap_cursor;
+
u8
*bitmap_cursor;
u32 bitmap_pos, data_size;
ASSERT(found_key.objectid >= start);
u32 bitmap_pos, data_size;
ASSERT(found_key.objectid >= start);
@@
-373,7
+372,7
@@
int convert_free_space_to_extents(struct btrfs_trans_handle *trans,
bitmap_pos = div_u64(found_key.objectid - start,
block_group->sectorsize *
BITS_PER_BYTE);
bitmap_pos = div_u64(found_key.objectid - start,
block_group->sectorsize *
BITS_PER_BYTE);
- bitmap_cursor =
((char *)bitmap)
+ bitmap_pos;
+ bitmap_cursor =
bitmap
+ bitmap_pos;
data_size = free_space_bitmap_size(found_key.offset,
block_group->sectorsize);
data_size = free_space_bitmap_size(found_key.offset,
block_group->sectorsize);
@@
-410,7
+409,7
@@
int convert_free_space_to_extents(struct btrfs_trans_handle *trans,
offset = start;
bitnr = 0;
while (offset < end) {
offset = start;
bitnr = 0;
while (offset < end) {
- bit = !!test_bit(bitnr, bitmap);
+ bit = !!
le_
test_bit(bitnr, bitmap);
if (prev_bit == 0 && bit == 1) {
extent_start = offset;
} else if (prev_bit == 1 && bit == 0) {
if (prev_bit == 0 && bit == 1) {
extent_start = offset;
} else if (prev_bit == 1 && bit == 0) {
@@
-1185,6
+1184,7
@@
int btrfs_create_free_space_tree(struct btrfs_fs_info *fs_info)
}
btrfs_set_fs_compat_ro(fs_info, FREE_SPACE_TREE);
}
btrfs_set_fs_compat_ro(fs_info, FREE_SPACE_TREE);
+ btrfs_set_fs_compat_ro(fs_info, FREE_SPACE_TREE_VALID);
clear_bit(BTRFS_FS_CREATING_FREE_SPACE_TREE, &fs_info->flags);
ret = btrfs_commit_transaction(trans, tree_root);
clear_bit(BTRFS_FS_CREATING_FREE_SPACE_TREE, &fs_info->flags);
ret = btrfs_commit_transaction(trans, tree_root);
@@
-1253,6
+1253,7
@@
int btrfs_clear_free_space_tree(struct btrfs_fs_info *fs_info)
return PTR_ERR(trans);
btrfs_clear_fs_compat_ro(fs_info, FREE_SPACE_TREE);
return PTR_ERR(trans);
btrfs_clear_fs_compat_ro(fs_info, FREE_SPACE_TREE);
+ btrfs_clear_fs_compat_ro(fs_info, FREE_SPACE_TREE_VALID);
fs_info->free_space_root = NULL;
ret = clear_free_space_tree(trans, free_space_root);
fs_info->free_space_root = NULL;
ret = clear_free_space_tree(trans, free_space_root);