[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131207034344.GA13745@gmail.com>
Date: Sat, 7 Dec 2013 11:43:44 +0800
From: Zheng Liu <gnehzuil.liu@...il.com>
To: "Darrick J. Wong" <darrick.wong@...cle.com>
Cc: linux-ext4@...r.kernel.org, Theodore Ts'o <tytso@....edu>,
Zheng Liu <wenqing.lz@...bao.com>
Subject: Re: [PATCH v3 00/30] e2fsprogs: inline data refinement patch set
On Fri, Dec 06, 2013 at 05:53:21PM -0800, Darrick J. Wong wrote:
> On Fri, Dec 06, 2013 at 05:57:47PM +0800, Zheng Liu wrote:
> > Hi all,
> >
> > This is the third version of inline data patch set for e2fsprogs. In
> > this version, I made most changes according to Darrick's comments. As
> > always any comment or suggestion are welcome.
> >
> > Ted, patch 01 ~ 08 are taken from Darrick's patchbomb. I don't touch
> > them. Please let me know if I can do something for your review.
>
> As soon as the last regression tests finish I will blast this out. Probably
> tomorrow morning.
Great!
>
> > Darrick, I don't pick up your patch that tries to handle _DIR_NO_SPACE
> > error in ext2fs_link() because after applied that path some tests won't
> > pass. So I prefer to put this problem into TODO list.
>
> That patch turned out to be a disaster so I kicked it out of my patchbomb set.
> I'll ... work on it later.
Yes, that still needs some more works.
>
> (Also, I probably won't get to reviewing this iteration for a couple of
> days...)
Never mind. I really appreciate your comments. :-)
Thanks,
- Zheng
>
> --D
> >
> > changelog:
> > v3:
> > * Check inline_data feature in extended attribute API [patch 09]
> > * Define a new interface (ext2fs_dirent_swab_in2/out2) [patch 10] for
> > inline data and use them in ext2fs_inline_data_dir_iterate()
> > [patch 11, 14]
> > * Define a new flag (BLOCK_INLINE_DATA_CHANGED) to reflect that inline
> > data has been changed [patch 17]
> > * Use ext2fs_bmap2() in ext2fs_inline_data_expand() [patch 17]
> > * Return EXT2_ET_INLINE_DATA_NO_BLOCK in ext2fs_bmap2() [patch 17]
> > * Refactor out the code of ext2fs_inline_data_expand() [patch 19]
> > * Remove useless variable 'start' [patch 19]
> > * Typo fixes [patch 21,22]
> > * Turn off inline_data feature in tune2fs [patch 22]
> > * Change type from 'int' to 'unsigned int' for cache_size [patch 29]
> >
> > v2:
> > * Rebase against e2fsprogs/next branch
> > * Based against darrick's extended attribute API
> > * Remove 'libext2fs: add INLINE_DATA into EXT2_LIB_SOFTSUPP_INCOMPAT'
> > patch that has been applied
> > * Refine the interface of inline data. Now no any interface is
> > exported to outside caller. All interfaces are only exported
> > for developers
> > * Refactor ext2fs_inline_data_dir_iterate() so that it can call
> > ext2fs_process_dir_block directly
> > * Fix big-endian problem in handle parent inode in i_block
> > * Remove ext2fs_inode_has_inline_data() interface
> > * Export inode cache creation interface for unit test
> > * Coding style fixes
> > * Bug fixes
> >
> > v1:
> > * Revise the interfaces of liext2fs.
> >
> > * Implement ext2fs_punch_inline_data in lib/ext2fs/punch.c. Now if you
> > want to truncate an inode with inline data, you need to call
> > ext2fs_punch(), and it will handle inline data.
> >
> > * Remove ext2fs_inline_data_dirsearch() function. Now we don't support
> > dirsearch command for an inode with inline data in debugfs.
> >
> > * Ext2fs_mkdir() refinement. Now if we want to create a directory with
> > inline data, we just need to call ext2fs_mkdir(). This function will
> > try to create a new directory with inline data if inline_data feature
> > is enabled.
> >
> > * Fix big-endian bug in some functions. When ext2fs_read_inode() tries
> > to read an inode into memory, it will handle big-endian by itself.
> > Thus, we don't need to handle it manually.
> >
> > * Fix a bug in e2fsck/pass3. When we try to expand a 'lost+found' dir,
> > we don't need to handle inline data because this dir shouldn't have
> > this flag.
> >
> > Regards,
> > - Zheng
> >
> > Darrick J. Wong (8):
> > libext2fs: support modifying arbitrary extended attributes
> > libext2fs: various tweaks to the xattr editor APIs
> > libext2fs: extend xattr api to query number of attrs
> > libext2fs: fix memory leaks in extended attribute code
> > libext2fs: fix block leak when releasing xattr block
> > libext2fs: remove redundant code
> > libext2fs: free key/value pairs before reading
> > debugfs: dump all extended attributes
> >
> > Zheng Liu (22):
> > libext2fs: check inline_data in ext2fs_xattrs_read/write
> > libext2fs: define new dirent_swab interfaces for inline data
> > libext2fs: handle inline data in dir iterator function
> > libext2fs: handle inline_data in block iterator function
> > debugfs: make stat command support inline data
> > debugfs: make expand command support inline data
> > debugfs: make mkdir command support inline data
> > debugfs: make lsdel command support inline data
> > debugfs: handle inline_data feature in bmap command
> > debugfs: handle inline data feature in punch command
> > libext2fs: handle inline data in read/write function
> > libext2fs: add inline_data feature into EXT2_LIB_FEATURE_INCOMPAT_SUPP
> > mke2fs: add inline_data support in mke2fs
> > tune2fs: add inline_data feature in tune2fs
> > e2fsck: add problem descriptions and check inline data feature
> > e2fsck: check inline_data in pass1
> > e2fsck: check inline_data in pass2
> > e2fsck: check inline_data in pass3
> > tests: change result in f_bad_disconnected_inode
> > mke2fs: enable inline_data feature on ext4dev filesystem
> > libext2fs: export inode cahce creation function
> > libext2fs: add a unit test for inline data
> >
> > debugfs/debugfs.c | 104 ++--
> > debugfs/filefrag.c | 12 +-
> > debugfs/lsdel.c | 20 +-
> > e2fsck/pass1.c | 84 ++-
> > e2fsck/pass2.c | 128 ++++-
> > e2fsck/pass3.c | 12 +
> > e2fsck/problem.c | 14 +
> > e2fsck/problem.h | 10 +
> > e2fsck/rehash.c | 2 +
> > lib/ext2fs/Makefile.in | 16 +-
> > lib/ext2fs/Makefile.pq | 1 +
> > lib/ext2fs/bmap.c | 7 +
> > lib/ext2fs/dblist_dir.c | 16 +-
> > lib/ext2fs/dir_iterate.c | 62 ++-
> > lib/ext2fs/expanddir.c | 2 +
> > lib/ext2fs/ext2_err.et.in | 27 +
> > lib/ext2fs/ext2_fs.h | 10 +
> > lib/ext2fs/ext2fs.h | 48 +-
> > lib/ext2fs/ext2fsP.h | 24 +-
> > lib/ext2fs/ext_attr.c | 856 +++++++++++++++++++++++++++++++
> > lib/ext2fs/fileio.c | 106 ++++
> > lib/ext2fs/inline_data.c | 811 +++++++++++++++++++++++++++++
> > lib/ext2fs/inode.c | 8 +-
> > lib/ext2fs/mkdir.c | 77 ++-
> > lib/ext2fs/newdir.c | 25 +
> > lib/ext2fs/punch.c | 28 +-
> > lib/ext2fs/swapfs.c | 27 +-
> > lib/ext2fs/valid_blk.c | 7 +
> > misc/mke2fs.8.in | 3 +
> > misc/mke2fs.c | 18 +-
> > misc/mke2fs.conf.in | 2 +-
> > misc/tune2fs.8.in | 3 +
> > misc/tune2fs.c | 99 +++-
> > tests/f_bad_disconnected_inode/expect.1 | 9 +
> > tests/r_inline_xattr/expect | 6 +-
> > 35 files changed, 2535 insertions(+), 149 deletions(-)
> > create mode 100644 lib/ext2fs/inline_data.c
> >
> > --
> > 1.7.9.7
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> > the body of a message to majordomo@...r.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists