From: Zheng Liu <gnehzuil.liu@gmail.com>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: linux-ext4@vger.kernel.org, Theodore Ts'o <tytso@mit.edu>,
Zheng Liu <wenqing.lz@taobao.com>
Subject: Re: [PATCH v1 15/22] tune2fs: add inline_data feature in tune2fs
Date: Sat, 12 Oct 2013 16:16:38 +0800 [thread overview]
Message-ID: <20131012081638.GB6462@gmail.com> (raw)
In-Reply-To: <20131012003945.GW6860@birch.djwong.org>
On Fri, Oct 11, 2013 at 05:39:45PM -0700, Darrick J. Wong wrote:
> On Fri, Aug 02, 2013 at 05:49:42PM +0800, Zheng Liu wrote:
> > From: Zheng Liu <wenqing.lz@taobao.com>
> >
> > Inline_data feature can be set when ext_attr feature is enabled. Now this
> > feature only can be enabled because we may be out of space when disabling
> > it. If this feature is disabled, we need to allocate a block for every
> > file and directory, and it might exhaust all space.
> >
> > Signed-off-by: Theodore Ts'o <tytso@mit.edu>
> > Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
> > ---
> > misc/tune2fs.8.in | 5 +++++
> > misc/tune2fs.c | 17 ++++++++++++++++-
> > 2 files changed, 21 insertions(+), 1 deletion(-)
> >
> > diff --git a/misc/tune2fs.8.in b/misc/tune2fs.8.in
> > index 55c6dd9..b768fff 100644
> > --- a/misc/tune2fs.8.in
> > +++ b/misc/tune2fs.8.in
> > @@ -531,6 +531,11 @@ Setting the filesystem feature is equivalent to using the
> > .B \-j
> > option.
> > .TP
> > +.B inline_data
> > +Allow data to be stored in inode.
> > +.B Tune2fs
> > +only supports setting this filesystem feature.
> > +.TP
> > .B large_file
> > Filesystem can contain files that are greater than 2GB. (Modern kernels
> > set this feature automatically when a file > 2GB is created.)
> > diff --git a/misc/tune2fs.c b/misc/tune2fs.c
> > index 7d6520e..f22a736 100644
> > --- a/misc/tune2fs.c
> > +++ b/misc/tune2fs.c
> > @@ -137,7 +137,8 @@ static __u32 ok_features[3] = {
> > EXT2_FEATURE_INCOMPAT_FILETYPE |
> > EXT3_FEATURE_INCOMPAT_EXTENTS |
> > EXT4_FEATURE_INCOMPAT_FLEX_BG |
> > - EXT4_FEATURE_INCOMPAT_MMP,
> > + EXT4_FEATURE_INCOMPAT_MMP |
> > + EXT4_FEATURE_INCOMPAT_INLINE_DATA,
> > /* R/O compat */
> > EXT2_FEATURE_RO_COMPAT_LARGE_FILE |
> > EXT4_FEATURE_RO_COMPAT_HUGE_FILE|
> > @@ -995,6 +996,20 @@ mmp_error:
> > disable_uninit_bg(fs,
> > EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
> >
> > + if (FEATURE_ON(E2P_FEATURE_INCOMPAT,
> > + EXT4_FEATURE_INCOMPAT_INLINE_DATA)) {
> > + /* Inline_data feature cannot be enabled if ext_attr is
> > + * disabled.
> > + */
>
> Multiline comment issue.
>
> > + if (!(fs->super->s_feature_compat &
> > + EXT2_FEATURE_COMPAT_EXT_ATTR)) {
>
> EXT2_HAS_COMPAT_FEATURE()?
>
> > + fputs(_("The inline_data feature cannot "
> > + "be set if ext_attr feature is disabled.\n"),
> > + stderr);
> > + return 1;
> > + }
> > + }
> > +
>
> Maybe I'm missing something, but I don't see anything prohibiting the user from
> disabling inline_data? Or from doing the conversion?
Yes, now in tune2fs we can only enable inline_data feature. If we want
to disable inline_data, that means that we need to allocate a block for
every inode with inline data, and we could exhaust all disk space.
Another implementation might be just clear inline_data flag from
super_block and doesn't allocate a block for these inodes. The former
obviously is not a good choice. But the latter might be better. I am
really not sure for this. What do you think?
Thanks,
- Zheng
next prev parent reply other threads:[~2013-10-12 8:14 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-02 9:49 [PATCH v1 00/22] e2fsprogs: inline data refinement patch set Zheng Liu
2013-08-02 9:49 ` [PATCH v1 01/22] libext2fs: add INLINE_DATA into EXT2_LIB_SOFTSUPP_INCOMPAT Zheng Liu
2013-10-13 3:21 ` Theodore Ts'o
2013-08-02 9:49 ` [PATCH v1 02/22] libext2fs: add function to check inline_data flag for an inode Zheng Liu
2013-08-02 9:49 ` [PATCH v1 03/22] libext2fs: add functions to operate on extended attribute Zheng Liu
2013-08-05 17:34 ` Darrick J. Wong
2013-08-05 23:14 ` Zheng Liu
2013-10-14 1:55 ` Theodore Ts'o
2013-10-14 2:41 ` Zheng Liu
2013-10-11 22:51 ` Darrick J. Wong
2013-10-12 5:51 ` Zheng Liu
2013-10-12 8:32 ` Darrick J. Wong
2013-10-12 8:41 ` Zheng Liu
2013-10-12 9:02 ` Darrick J. Wong
2013-10-12 9:08 ` Zheng Liu
2013-08-02 9:49 ` [PATCH v1 04/22] libext2fs: handle inline data in dir iterator function Zheng Liu
2013-10-11 23:33 ` Darrick J. Wong
2013-10-12 5:55 ` Zheng Liu
2013-10-13 22:51 ` Theodore Ts'o
2013-10-14 3:07 ` Zheng Liu
2013-10-14 1:58 ` Theodore Ts'o
2013-08-02 9:49 ` [PATCH v1 05/22] libext2fs: handle inline_data in block " Zheng Liu
2013-10-13 3:55 ` Theodore Ts'o
2013-10-14 0:44 ` Theodore Ts'o
2013-10-14 2:49 ` Zheng Liu
2013-08-02 9:49 ` [PATCH v1 06/22] debugfs: make stat command support inline data Zheng Liu
2013-10-11 23:43 ` Darrick J. Wong
2013-10-12 0:07 ` Darrick J. Wong
2013-08-02 9:49 ` [PATCH v1 07/22] debugfs: make mkdir and expanddir " Zheng Liu
2013-10-12 0:21 ` Darrick J. Wong
2013-10-12 7:15 ` Zheng Liu
2013-08-02 9:49 ` [PATCH v1 08/22] debugfs: make lsdel " Zheng Liu
2013-08-02 9:49 ` [PATCH v1 09/22] libext2fs: handle inline data in read/write function Zheng Liu
2013-08-02 9:49 ` [PATCH v1 10/22] debugfs: handle inline_data feature in dirsearch command Zheng Liu
2013-10-12 0:30 ` Darrick J. Wong
2013-10-12 7:21 ` Zheng Liu
2013-08-02 9:49 ` [PATCH v1 11/22] debugfs: handle inline_data feature in bmap command Zheng Liu
2013-08-02 9:49 ` [PATCH v1 12/22] debugfs: handle inline_data in punch command Zheng Liu
2013-10-12 0:37 ` Darrick J. Wong
2013-10-12 7:22 ` Zheng Liu
2013-08-02 9:49 ` [PATCH v1 13/22] libext2fs: add inline_data feature into EXT2_LIB_FEATURE_INCOMPAT_SUPP Zheng Liu
2013-08-02 9:49 ` [PATCH v1 14/22] mke2fs: add inline_data support in mke2fs Zheng Liu
2013-10-12 0:27 ` Darrick J. Wong
2013-10-12 8:08 ` Zheng Liu
2013-10-12 8:18 ` Darrick J. Wong
2013-10-12 8:31 ` Zheng Liu
2013-10-12 8:32 ` Darrick J. Wong
2013-08-02 9:49 ` [PATCH v1 15/22] tune2fs: add inline_data feature in tune2fs Zheng Liu
2013-10-12 0:39 ` Darrick J. Wong
2013-10-12 8:16 ` Zheng Liu [this message]
2013-10-12 8:23 ` Darrick J. Wong
2013-10-12 8:33 ` Zheng Liu
2013-08-02 9:49 ` [PATCH v1 16/22] e2fsck: add problem descriptions and check inline data feature Zheng Liu
2013-08-02 9:49 ` [PATCH v1 17/22] e2fsck: check inline_data in pass1 Zheng Liu
2013-10-12 0:47 ` Darrick J. Wong
2013-10-12 8:17 ` Zheng Liu
2013-08-02 9:49 ` [PATCH v1 18/22] e2fsck: check inline_data in pass2 Zheng Liu
2013-08-02 9:49 ` [PATCH v1 19/22] e2fsck: check inline_data in pass3 Zheng Liu
2013-10-12 0:54 ` Darrick J. Wong
2013-10-12 9:06 ` Zheng Liu
2013-10-12 9:09 ` Darrick J. Wong
2013-10-12 9:17 ` Zheng Liu
2013-10-12 9:22 ` Darrick J. Wong
2013-10-12 9:32 ` Zheng Liu
2013-08-02 9:49 ` [PATCH v1 20/22] tests: change result in f_bad_disconnected_inode Zheng Liu
2013-08-02 9:49 ` [PATCH v1 21/22] mke2fs: enable inline_data feature on ext4dev filesystem Zheng Liu
2013-08-02 9:49 ` [PATCH v1 22/22] libext2fs: add a unit test for inline data Zheng Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131012081638.GB6462@gmail.com \
--to=gnehzuil.liu@gmail.com \
--cc=darrick.wong@oracle.com \
--cc=linux-ext4@vger.kernel.org \
--cc=tytso@mit.edu \
--cc=wenqing.lz@taobao.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.