aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/btrfs-tools/btrfs-tools/mkfs-xin-fixes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/btrfs-tools/btrfs-tools/mkfs-xin-fixes.patch')
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools/mkfs-xin-fixes.patch183
1 files changed, 0 insertions, 183 deletions
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
deleted file mode 100644
index 847e870669..0000000000
--- a/meta/recipes-devtools/btrfs-tools/btrfs-tools/mkfs-xin-fixes.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-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 <nitin.a.kamble@intel.com> 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 <uuid/uuid.h>
- #include <linux/fs.h>
- #include <ctype.h>
--#include <attr/xattr.h>
-+#include <sys/xattr.h>
- #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");