From c9c14a198de1b44462184c03bc3f9be4848adfd8 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 22 Jul 2011 10:04:04 +0100 Subject: Sync patches with DOS line endings that became corrupted Signed-off-by: Richard Purdie --- .../btrfs-tools/btrfs-tools/mkfs-xin-fixes.patch | 366 ++++++++++----------- 1 file changed, 183 insertions(+), 183 deletions(-) (limited to 'meta/recipes-devtools/btrfs-tools') diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/mkfs-xin-fixes.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/mkfs-xin-fixes.patch index 47fc97725a..847e870669 100644 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools/mkfs-xin-fixes.patch +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/mkfs-xin-fixes.patch @@ -1,183 +1,183 @@ -Upstream-Status: Pending - -This patch is made by xin.zhong@intel.com to implement these supported -features in mkfs.btrfs: - * populate fs image from a directory while creating it - * reduce minimum size of the created image from 256MB to around 24MB - * while creating image use the specified device name rather than output.img - -Patch tested and incorporated in poky by: -Nitin A Kamble 2011/06/20 - -diff --git a/file-item.c b/file-item.c -index 9732282..aed42c3 100644 ---- a/file-item.c -+++ b/file-item.c -@@ -193,7 +193,7 @@ int btrfs_csum_file_block(struct btrfs_trans_handle *trans, - struct btrfs_root *root, u64 alloc_end, - u64 bytenr, char *data, size_t len) - { -- int ret; -+ int ret = 0; - struct btrfs_key file_key; - struct btrfs_key found_key; - u64 next_offset = (u64)-1; -diff --git a/mkfs.c b/mkfs.c -index 57c88f9..e953a33 100644 ---- a/mkfs.c -+++ b/mkfs.c -@@ -36,7 +36,7 @@ - #include - #include - #include --#include -+#include - #include "kerncompat.h" - #include "ctree.h" - #include "disk-io.h" -@@ -517,7 +517,6 @@ static int add_inode_items(struct btrfs_trans_handle *trans, - fail: - return ret; - } -- - static int add_xattr_item(struct btrfs_trans_handle *trans, - struct btrfs_root *root, u64 objectid, - const char *file_name) -@@ -532,8 +531,10 @@ static int add_xattr_item(struct btrfs_trans_handle *trans, - - ret = llistxattr(file_name, xattr_list, XATTR_LIST_MAX); - if (ret < 0) { -- fprintf(stderr, "get a list of xattr failed for %s\n", -- file_name); -+ if(errno == ENOTSUP) -+ return 0; -+ fprintf(stderr, "get a list of xattr failed for %s errno %d\n", -+ file_name, errno); - return ret; - } - if (ret == 0) -@@ -546,8 +547,11 @@ static int add_xattr_item(struct btrfs_trans_handle *trans, - - ret = getxattr(file_name, cur_name, cur_value, XATTR_SIZE_MAX); - if (ret < 0) { -- fprintf(stderr, "get a xattr value failed for %s\n", -- cur_name); -+ if(errno == ENOTSUP) -+ return 0; -+ fprintf(stderr, "get a xattr value failed for %s attr %s errno %d\n", -+ file_name, cur_name, errno); -+ return ret; - } - - ret = btrfs_insert_xattr_item(trans, root, cur_name, -@@ -563,7 +567,6 @@ static int add_xattr_item(struct btrfs_trans_handle *trans, - - return ret; - } -- - static int custom_alloc_extent(struct btrfs_root *root, u64 num_bytes, - u64 hint_byte, struct btrfs_key *ins) - { -@@ -923,27 +926,27 @@ static int traverse_directory(struct btrfs_trans_handle *trans, - fprintf(stderr, "add_inode_items failed\n"); - goto fail; - } -- - ret = add_xattr_item(trans, root, - cur_inum, cur_file->d_name); - if (ret) { - fprintf(stderr, "add_xattr_item failed\n"); -- goto fail; -+ if(ret != -ENOTSUP) -+ goto fail; - } -- - if (S_ISDIR(st.st_mode)) { - dir_entry = malloc(sizeof(struct directory_name_entry)); - dir_entry->dir_name = cur_file->d_name; - dir_entry->path = make_path(parent_dir_entry->path, - cur_file->d_name); - dir_entry->inum = cur_inum; -- list_add_tail(&dir_entry->list, &dir_head->list); -+ list_add_tail(&dir_entry->list, &dir_head->list); - } else if (S_ISREG(st.st_mode)) { - ret = add_file_items(trans, root, &cur_inode, - cur_inum, parent_inum, &st, - cur_file->d_name, out_fd); - if (ret) { -- fprintf(stderr, "add_file_items failed\n"); -+ fprintf(stderr, "add_file_items failed %s\n", -+ cur_file->d_name); - goto fail; - } - } else if (S_ISLNK(st.st_mode)) { -@@ -987,7 +990,7 @@ static int create_chunks(struct btrfs_trans_handle *trans, - u64 chunk_size; - u64 meta_type = BTRFS_BLOCK_GROUP_METADATA; - u64 data_type = BTRFS_BLOCK_GROUP_DATA; -- u64 minimum_data_chunk_size = 64 * 1024 * 1024; -+ u64 minimum_data_chunk_size = 8 * 1024 * 1024; - u64 i; - int ret; - -@@ -1062,7 +1065,6 @@ static u64 size_sourcedir(char *dir_name, u64 sectorsize, - char path[512]; - char *file_name = "temp_file"; - FILE *file; -- u64 minimum_data_size = 256 * 1024 * 1024; /* 256MB */ - u64 default_chunk_size = 8 * 1024 * 1024; /* 8MB */ - u64 allocated_meta_size = 8 * 1024 * 1024; /* 8MB */ - u64 allocated_total_size = 20 * 1024 * 1024; /* 20MB */ -@@ -1101,9 +1103,6 @@ static u64 size_sourcedir(char *dir_name, u64 sectorsize, - - *num_of_meta_chunks_ret = num_of_meta_chunks; - -- if (total_size < minimum_data_size) -- total_size = minimum_data_size; -- - return total_size; - } - -@@ -1158,9 +1157,9 @@ int main(int ac, char **av) - - char *source_dir = NULL; - int source_dir_set = 0; -- char *output = "output.img"; - u64 num_of_meta_chunks = 0; - u64 size_of_data = 0; -+ u64 source_dir_size = 0; - - while(1) { - int c; -@@ -1224,8 +1223,6 @@ int main(int ac, char **av) - fprintf(stderr, "Illegal nodesize %u\n", nodesize); - exit(1); - } -- if (source_dir_set) -- ac++; - ac = ac - optind; - if (ac == 0) - print_usage(); -@@ -1257,17 +1254,19 @@ int main(int ac, char **av) - block_count = dev_block_count; - } else { - ac = 0; -- fd = open_target(output); -+ file = av[optind++]; -+ fd = open_target(file); - if (fd < 0) { - fprintf(stderr, "unable to open the %s\n", file); - exit(1); - } - -- file = output; - first_fd = fd; - first_file = file; -- block_count = size_sourcedir(source_dir, sectorsize, -+ source_dir_size = size_sourcedir(source_dir, sectorsize, - &num_of_meta_chunks, &size_of_data); -+ if(block_count < source_dir_size) -+ block_count = source_dir_size; - ret = zero_output_file(fd, block_count, sectorsize); - if (ret) { - fprintf(stderr, "unable to zero the output file\n"); +Upstream-Status: Pending + +This patch is made by xin.zhong@intel.com to implement these supported +features in mkfs.btrfs: + * populate fs image from a directory while creating it + * reduce minimum size of the created image from 256MB to around 24MB + * while creating image use the specified device name rather than output.img + +Patch tested and incorporated in poky by: +Nitin A Kamble 2011/06/20 + +diff --git a/file-item.c b/file-item.c +index 9732282..aed42c3 100644 +--- a/file-item.c ++++ b/file-item.c +@@ -193,7 +193,7 @@ int btrfs_csum_file_block(struct btrfs_trans_handle *trans, + struct btrfs_root *root, u64 alloc_end, + u64 bytenr, char *data, size_t len) + { +- int ret; ++ int ret = 0; + struct btrfs_key file_key; + struct btrfs_key found_key; + u64 next_offset = (u64)-1; +diff --git a/mkfs.c b/mkfs.c +index 57c88f9..e953a33 100644 +--- a/mkfs.c ++++ b/mkfs.c +@@ -36,7 +36,7 @@ + #include + #include + #include +-#include ++#include + #include "kerncompat.h" + #include "ctree.h" + #include "disk-io.h" +@@ -517,7 +517,6 @@ static int add_inode_items(struct btrfs_trans_handle *trans, + fail: + return ret; + } +- + static int add_xattr_item(struct btrfs_trans_handle *trans, + struct btrfs_root *root, u64 objectid, + const char *file_name) +@@ -532,8 +531,10 @@ static int add_xattr_item(struct btrfs_trans_handle *trans, + + ret = llistxattr(file_name, xattr_list, XATTR_LIST_MAX); + if (ret < 0) { +- fprintf(stderr, "get a list of xattr failed for %s\n", +- file_name); ++ if(errno == ENOTSUP) ++ return 0; ++ fprintf(stderr, "get a list of xattr failed for %s errno %d\n", ++ file_name, errno); + return ret; + } + if (ret == 0) +@@ -546,8 +547,11 @@ static int add_xattr_item(struct btrfs_trans_handle *trans, + + ret = getxattr(file_name, cur_name, cur_value, XATTR_SIZE_MAX); + if (ret < 0) { +- fprintf(stderr, "get a xattr value failed for %s\n", +- cur_name); ++ if(errno == ENOTSUP) ++ return 0; ++ fprintf(stderr, "get a xattr value failed for %s attr %s errno %d\n", ++ file_name, cur_name, errno); ++ return ret; + } + + ret = btrfs_insert_xattr_item(trans, root, cur_name, +@@ -563,7 +567,6 @@ static int add_xattr_item(struct btrfs_trans_handle *trans, + + return ret; + } +- + static int custom_alloc_extent(struct btrfs_root *root, u64 num_bytes, + u64 hint_byte, struct btrfs_key *ins) + { +@@ -923,27 +926,27 @@ static int traverse_directory(struct btrfs_trans_handle *trans, + fprintf(stderr, "add_inode_items failed\n"); + goto fail; + } +- + ret = add_xattr_item(trans, root, + cur_inum, cur_file->d_name); + if (ret) { + fprintf(stderr, "add_xattr_item failed\n"); +- goto fail; ++ if(ret != -ENOTSUP) ++ goto fail; + } +- + if (S_ISDIR(st.st_mode)) { + dir_entry = malloc(sizeof(struct directory_name_entry)); + dir_entry->dir_name = cur_file->d_name; + dir_entry->path = make_path(parent_dir_entry->path, + cur_file->d_name); + dir_entry->inum = cur_inum; +- list_add_tail(&dir_entry->list, &dir_head->list); ++ list_add_tail(&dir_entry->list, &dir_head->list); + } else if (S_ISREG(st.st_mode)) { + ret = add_file_items(trans, root, &cur_inode, + cur_inum, parent_inum, &st, + cur_file->d_name, out_fd); + if (ret) { +- fprintf(stderr, "add_file_items failed\n"); ++ fprintf(stderr, "add_file_items failed %s\n", ++ cur_file->d_name); + goto fail; + } + } else if (S_ISLNK(st.st_mode)) { +@@ -987,7 +990,7 @@ static int create_chunks(struct btrfs_trans_handle *trans, + u64 chunk_size; + u64 meta_type = BTRFS_BLOCK_GROUP_METADATA; + u64 data_type = BTRFS_BLOCK_GROUP_DATA; +- u64 minimum_data_chunk_size = 64 * 1024 * 1024; ++ u64 minimum_data_chunk_size = 8 * 1024 * 1024; + u64 i; + int ret; + +@@ -1062,7 +1065,6 @@ static u64 size_sourcedir(char *dir_name, u64 sectorsize, + char path[512]; + char *file_name = "temp_file"; + FILE *file; +- u64 minimum_data_size = 256 * 1024 * 1024; /* 256MB */ + u64 default_chunk_size = 8 * 1024 * 1024; /* 8MB */ + u64 allocated_meta_size = 8 * 1024 * 1024; /* 8MB */ + u64 allocated_total_size = 20 * 1024 * 1024; /* 20MB */ +@@ -1101,9 +1103,6 @@ static u64 size_sourcedir(char *dir_name, u64 sectorsize, + + *num_of_meta_chunks_ret = num_of_meta_chunks; + +- if (total_size < minimum_data_size) +- total_size = minimum_data_size; +- + return total_size; + } + +@@ -1158,9 +1157,9 @@ int main(int ac, char **av) + + char *source_dir = NULL; + int source_dir_set = 0; +- char *output = "output.img"; + u64 num_of_meta_chunks = 0; + u64 size_of_data = 0; ++ u64 source_dir_size = 0; + + while(1) { + int c; +@@ -1224,8 +1223,6 @@ int main(int ac, char **av) + fprintf(stderr, "Illegal nodesize %u\n", nodesize); + exit(1); + } +- if (source_dir_set) +- ac++; + ac = ac - optind; + if (ac == 0) + print_usage(); +@@ -1257,17 +1254,19 @@ int main(int ac, char **av) + block_count = dev_block_count; + } else { + ac = 0; +- fd = open_target(output); ++ file = av[optind++]; ++ fd = open_target(file); + if (fd < 0) { + fprintf(stderr, "unable to open the %s\n", file); + exit(1); + } + +- file = output; + first_fd = fd; + first_file = file; +- block_count = size_sourcedir(source_dir, sectorsize, ++ source_dir_size = size_sourcedir(source_dir, sectorsize, + &num_of_meta_chunks, &size_of_data); ++ if(block_count < source_dir_size) ++ block_count = source_dir_size; + ret = zero_output_file(fd, block_count, sectorsize); + if (ret) { + fprintf(stderr, "unable to zero the output file\n"); -- cgit v1.2.3-54-g00ecf