linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tao Ma <tm@tao.ma>
To: Theodore Ts'o <tytso@mit.edu>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [PATCH V7 03/23] ext4: Add the basic function for inline data support.
Date: Mon, 03 Dec 2012 13:23:24 +0800	[thread overview]
Message-ID: <50BC374C.7050705@tao.ma> (raw)
In-Reply-To: <20121203014823.GA5507@thunk.org>

On 12/03/2012 09:48 AM, Theodore Ts'o wrote:
> On Wed, Oct 24, 2012 at 10:55:18AM +0800, Tao Ma wrote:
>> +	EXT4_STATE_MAY_INLINE_DATA,	/* may have in-inode data */
> 
> Can you write a paragraph or two about exactly what the semantics are
> of this state flag --- what it means, when it should be set, and when
> it should be cleared, etc.?
> 
> I'm not entirely sure I understand why you test
> EXT4_STATE_MAY_INLINE_DATA versus simply calling
> ext4_has_inline_data() in various places.
OK, so in general, EXT4_STATE_MAY_INLINE_DATA is a flag that show that
the file has a potential to be inlined, but there is no guarantee it is
inlined.

So when the inode is created and the volume has inline-data support,
this flag is set. And when the write_begin comes, we have no idea
whether it is OK or not to create an inline file, so if this flag is
set, we just try to call the inline-data stuff to see whether it works.
If it succeeds, that is cool. But if not, this flag is cleared and we
will not trap to inline-data stuff for the future write_begin. The
reason why ext4_has_inline_data() doesn't work here is that a new file
has no inline data but has the potential to be inlined.

Thanks
Tao

  reply	other threads:[~2012-12-03  5:23 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-24  2:50 [PATCH V7 00/23] ext4: Add inline data support Tao Ma
2012-10-24  2:55 ` [PATCH V7 01/23] ext4: Move extra inode read to a new function Tao Ma
2012-10-24  2:55   ` [PATCH V7 02/23] ext4: export inline xattr functions Tao Ma
2012-10-24  2:55   ` [PATCH V7 03/23] ext4: Add the basic function for inline data support Tao Ma
2012-12-03  1:48     ` Theodore Ts'o
2012-12-03  5:23       ` Tao Ma [this message]
2012-12-03 16:17       ` Tao Ma
2012-10-24  2:55   ` [PATCH V7 04/23] ext4: Add read support for inline data Tao Ma
2012-10-24  2:55   ` [PATCH V7 05/23] ext4: Add normal write " Tao Ma
2012-10-24  2:55   ` [PATCH V7 06/23] ext4: Add journalled " Tao Ma
2012-10-24  2:55   ` [PATCH V7 07/23] ext4: Add delalloc " Tao Ma
2012-10-24  2:55   ` [PATCH V7 08/23] ext4: Make ext4_init_dot_dotdot for inline dir usage Tao Ma
2012-10-24  2:55   ` [PATCH V7 09/23] ext4: Refactor __ext4_check_dir_entry to accepts start and size Tao Ma
2012-10-24  2:55   ` [PATCH V7 10/23] ext4: Create __ext4_insert_dentry for dir entry insertion Tao Ma
2012-10-24  2:55   ` [PATCH V7 11/23] ext4: let add_dir_entry handle inline data properly Tao Ma
2012-10-24  2:55   ` [PATCH V7 12/23] ext4: Let ext4_readdir handle inline data Tao Ma
2012-10-24  2:55   ` [PATCH V7 13/23] ext4: Create a new function search_dir Tao Ma
2012-10-24  2:55   ` [PATCH V7 14/23] ext4: let ext4_find_entry handle inline data Tao Ma
2012-10-24  2:55   ` [PATCH V7 15/23] ext4: make ext4_delete_entry generic Tao Ma
2012-10-24  2:55   ` [PATCH V7 16/23] ext4: let ext4_delete_entry handle inline data Tao Ma
2012-10-24  2:55   ` [PATCH V7 17/23] ext4: let empty_dir handle inline dir Tao Ma
2012-10-24  2:55   ` [PATCH V7 18/23] ext4: let ext4_rename " Tao Ma
2012-10-24  2:55   ` [PATCH V7 19/23] ext4: Let fiemap work with inline data Tao Ma
2012-10-24  2:55   ` [PATCH V7 20/23] ext4: Evict inline data out if we needs to strore xattr in inode Tao Ma
2012-10-24  2:55   ` [PATCH V7 21/23] ext4: let ext4_truncate handle inline data correctly Tao Ma
2012-10-24  2:55   ` [PATCH V7 22/23] ext4: let fallocate " Tao Ma
2012-12-03  1:37     ` Theodore Ts'o
2012-10-24  2:55   ` [PATCH V7 23/23] ext4: Enable ext4 inline support Tao Ma
2012-11-19  7:41 ` [PATCH V7 00/23] ext4: Add inline data support Tao Ma
2012-11-19 15:29   ` Theodore Ts'o
2012-12-06 17:30 ` Theodore Ts'o
2012-12-07  1:34   ` Tao Ma
2012-12-10 15:02     ` Theodore Ts'o
2012-12-10 15:17       ` Tao Ma

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=50BC374C.7050705@tao.ma \
    --to=tm@tao.ma \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tytso@mit.edu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).