All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zheng Liu <gnehzuil.liu@gmail.com>
To: Jan Kara <jack@suse.cz>
Cc: Dmitry Monakhov <dmonakhov@openvz.org>,
	linux-ext4@vger.kernel.org, tytso@mit.edu, wenqing.lz@taobao.com
Subject: Re: [PATCH 4/7] ext4: fsync should wait for DIO writers
Date: Wed, 12 Sep 2012 13:40:01 +0800	[thread overview]
Message-ID: <20120912054001.GA3149@gmail.com> (raw)
In-Reply-To: <20120910095135.GF22903@quack.suse.cz>

On Mon, Sep 10, 2012 at 11:51:35AM +0200, Jan Kara wrote:
> On Sun 09-09-12 21:27:11, Dmitry Monakhov wrote:
> > fsync and punch_hole are the places where we have to wait for all
> > existing writers (writeback, aio, dio), but currently we simply
> > flush pended end_io request which is not sufficient.
>   Why not? I guess you mean the fact that there can be DIO in flight for
> which end_io() was not called so it is not queued in the queue? But that is
> OK - we have not yet called aio_complete() for that IO so for userspace the
> write has not happened yet. Thus there's no need to flush it to disk -
> fsync() does not say anything about writes in progress while fsync is
> called.
> 
> > Even more i_mutex is not holded while punch_hole which obviously
> > result in dangerous data corruption due to write-after-free.
>   Yes, that's a bug. I also noticed that but didn't get to fixing it (I'm
> actually working on a more long term fix using range locking but that's
> more of a research project so having somehow fixed at least the most
> blatant locking problems is good).

Hi Jan,

Could you please share more detailed information about range locking
with me?  Actually, the goal of extent status tree is to implement a
range locking in ext4 [1], and I am working on it.  So I think that
you have some good ideas to share with me. :-)

1. http://www.spinics.net/lists/linux-ext4/msg32661.html

If you have some problems, please let me know.  Thanks!

Regards,
Zheng

  parent reply	other threads:[~2012-09-12  5:29 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-09 17:27 [PATCH 0/7] ext4: Bunch of DIO/AIO fixes Dmitry Monakhov
2012-09-09 17:27 ` [PATCH 1/7] ext4: ext4_inode_info diet Dmitry Monakhov
2012-09-13 10:50   ` Zheng Liu
2012-09-13 11:15     ` Dmitry Monakhov
2012-09-15 15:53       ` Theodore Ts'o
2012-09-09 17:27 ` [PATCH 2/7] ext4: completed_io locking cleanup Dmitry Monakhov
2012-09-10  9:23   ` Jan Kara
2012-09-10 10:19     ` Dmitry Monakhov
2012-09-13 10:48   ` Zheng Liu
2012-09-09 17:27 ` [PATCH 3/7] ext4: serialize dio nolocked reads with defrag workers V2 Dmitry Monakhov
2012-09-10  9:31   ` Jan Kara
2012-09-10 10:00     ` Jan Kara
2012-09-09 17:27 ` [PATCH 4/7] ext4: fsync should wait for DIO writers Dmitry Monakhov
2012-09-10  9:51   ` Jan Kara
2012-09-10 10:56     ` Dmitry Monakhov
2012-09-12 14:02       ` Jan Kara
2012-09-12  5:40     ` Zheng Liu [this message]
2012-09-13 10:46   ` Zheng Liu
2012-09-13 11:01     ` Dmitry Monakhov
2012-09-13 12:36       ` Zheng Liu
2012-09-09 17:27 ` [PATCH 5/7] ext4: serialize unlocked dio reads with truncate Dmitry Monakhov
2012-09-10  9:54   ` Jan Kara
2012-09-09 17:27 ` [PATCH 6/7] ext4: endless truncate due to nonlocked dio readers V2 Dmitry Monakhov
2012-09-13 10:41   ` Zheng Liu
2012-09-13 12:07     ` Jan Kara
2012-09-13 12:57       ` Zheng Liu
2012-09-13 14:34         ` Jan Kara
2012-09-13 23:31           ` Zheng Liu
2012-09-09 17:27 ` [PATCH 7/7] ext4: serialize truncate with owerwrite DIO workers V2 Dmitry Monakhov
2012-09-13 10: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=20120912054001.GA3149@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.