diff options
Diffstat (limited to 'meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-extent-header.patch')
-rw-r--r-- | meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-extent-header.patch | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-extent-header.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-extent-header.patch deleted file mode 100644 index ae44730192..0000000000 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-extent-header.patch +++ /dev/null @@ -1,47 +0,0 @@ -debugfs: properly set up extent header in do_write - -do_write doesn't fully set up the first extent header on a new -inode, so if we write a 0-length file, and don't write any data -to the new file, we end up creating something that looks corrupt -to kernelspace: - -EXT4-fs error (device loop0): ext4_ext_check_inode:464: inode #12: comm ls: bad header/extent: invalid magic - magic 0, entries 0, max 0(0), depth 0(0) - -Do something similar to ext4_ext_tree_init() here, and -fill out the first extent header upon creation to avoid this. - -Upstream-Status: Backport - -Reported-by: Robert Yang <liezhi.yang@windriver.com> -Signed-off-by: Eric Sandeen <sandeen@redhat.com> ---- - debugfs/debugfs.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c ---- a/debugfs/debugfs.c -+++ b/debugfs/debugfs.c -@@ -1726,8 +1726,19 @@ void do_write(int argc, char *argv[]) - inode.i_links_count = 1; - inode.i_size = statbuf.st_size; - if (current_fs->super->s_feature_incompat & -- EXT3_FEATURE_INCOMPAT_EXTENTS) -+ EXT3_FEATURE_INCOMPAT_EXTENTS) { -+ int i; -+ struct ext3_extent_header *eh; -+ -+ eh = (struct ext3_extent_header *) &inode.i_block[0]; -+ eh->eh_depth = 0; -+ eh->eh_entries = 0; -+ eh->eh_magic = EXT3_EXT_MAGIC; -+ i = (sizeof(inode.i_block) - sizeof(*eh)) / -+ sizeof(struct ext3_extent); -+ eh->eh_max = ext2fs_cpu_to_le16(i); - inode.i_flags |= EXT4_EXTENTS_FL; -+ } - if (debugfs_write_new_inode(newfile, &inode, argv[0])) { - close(fd); - return; --- -1.8.1.2 - |