All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zheng Liu <gnehzuil.liu@gmail.com>
To: Dmitry Monakhov <dmonakhov@openvz.org>
Cc: linux-ext4@vger.kernel.org, tytso@mit.edu, jack@suse.cz,
	wenqing.lz@taobao.com
Subject: Re: [PATCH 2/5] ext4: disable merging of uninitialized extents
Date: Mon, 4 Mar 2013 22:26:02 +0800	[thread overview]
Message-ID: <20130304142602.GA13843@gmail.com> (raw)
In-Reply-To: <1361808463-25471-2-git-send-email-dmonakhov@openvz.org>

On Mon, Feb 25, 2013 at 08:07:40PM +0400, Dmitry Monakhov wrote:
> Derived from Jan's patch:http://permalink.gmane.org/gmane.comp.file-systems.ext4/36470
> 
> Merging of uninitialized extents creates all sorts of interesting race
> possibilities when writeback / DIO races with fallocate. Thus
> ext4_convert_unwritten_extents_endio() has to deal with a case where
> extent to be converted needs to be split out first. That isn't nice
> for two reasons:
> 
> 1) It may need allocation of extent tree block so ENOSPC is possible.
> 2) It complicates end_io handling code
> 
> So we disable merging of uninitialized extents which allows us to simplify
> the code. Extents will get merged after they are converted to initialized
> ones.
> 
> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>

After applied this patch, xfstests #275 will print a warning message.

kernel:EXT4-fs (sda2): failed to convert unwritten extents to written
extents -- potential data loss!  (inode 13, offset 1537212416, size 524288,
error -28)

But IMHO we don't need to worry about it because it is hard to be
trigger.  I hit it because I run xfstests #275 several times.  So just a
note here.

Regards,
                                                - Zheng

  parent reply	other threads:[~2013-03-04 14:10 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-25 16:07 [PATCH 1/5] ext4: ext4_split_extent shoult take care about extent zeroout v3 Dmitry Monakhov
2013-02-25 16:07 ` [PATCH 2/5] ext4: disable merging of uninitialized extents Dmitry Monakhov
2013-02-25 18:09   ` Jan Kara
2013-03-04 14:26   ` Zheng Liu [this message]
2013-02-25 16:07 ` [PATCH 3/5] ext4: add warning to ext4_convert_unwritten_extents_endio Dmitry Monakhov
2013-02-25 18:08   ` Jan Kara
2013-03-04 14:00   ` Zheng Liu
2013-02-25 16:07 ` [PATCH 4/5] ext4: remove unnecessary wait for extent conversion in ext4_fallocate() Dmitry Monakhov
2013-02-25 16:07 ` [PATCH 5/5] ext4: invalidate exntent-status-tree during extent_migration Dmitry Monakhov
2013-02-25 16:29   ` Dmitry Monakhov
2013-02-25 17:04     ` Zheng Liu
2013-02-26 14:23     ` [PATCH] ext4: fix wrong m_len value after unwritten extent conversion (Re: [PATCH 5/5] ext4: invalidate...) Zheng Liu
2013-02-26 15:43       ` Dmitry Monakhov
2013-02-25 18:06   ` [PATCH 5/5] ext4: invalidate exntent-status-tree during extent_migration Jan Kara
2013-02-25 18:33 ` [PATCH 1/5] ext4: ext4_split_extent shoult take care about extent zeroout v3 Jan Kara
2013-03-04  5:58 ` Theodore Ts'o
2013-03-04  6:37   ` 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=20130304142602.GA13843@gmail.com \
    --to=gnehzuil.liu@gmail.com \
    --cc=dmonakhov@openvz.org \
    --cc=jack@suse.cz \
    --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.