From: Dave Chinner <david@fromorbit.com>
To: Theodore Ts'o <tytso@mit.edu>
Cc: Lucas Nussbaum <lucas.nussbaum@loria.fr>,
linux-ext4@vger.kernel.org,
"linux-fsdevel@vger.kernel.org Emmanuel Jeanvoine"
<emmanuel.jeanvoine@inria.fr>
Subject: Re: [PATCH, RFC] fs: only call sync_filesystem() when remounting read-only
Date: Thu, 13 Mar 2014 11:36:35 +1100 [thread overview]
Message-ID: <20140313003635.GA4263@dastard> (raw)
In-Reply-To: <20140308160818.GC11633@thunk.org>
On Sat, Mar 08, 2014 at 11:08:18AM -0500, Theodore Ts'o wrote:
> On Wed, Mar 05, 2014 at 03:13:43PM +0100, Lucas Nussbaum wrote:
> > TL;DR: we experience long temporary hangs when doing multiple mount -o
> > remount at the same time as other I/O on an ext4 filesystem.
> >
> > When starting hundreds of LXC containers simultaneously on a system, the
> > boot of some containers was hanging. We tracked this down to an
> > initscript's use of mount -o remount, which was hanging in D state.
> >
> > We reproduced the problem outside of LXC, with the script available at
> > [0]. That script initiates 1000 mount -o remount, and performs some
> > writes using a big cp to the same filesystem during the remounts....
>
> +linux-fsdevel since the patch modifies fs/super.c
>
> Lukas, can you try this patch? I'm pretty sure this is what's going
> on. It turns out each "mount -o remount" is implying an fsync(), so
> your test case is identical to copying a large file while having
> thousand of processes calling syncfs() on the file system, with the
> predictable results.
>
> Folks on linux-fsdevel, any objections if I carry this patch in the
> ext4 tree? I don't think it should cause problems for other file
> systems, since any file system that tries to rely on the implied
> syncfs() is going to be subject to races, but it might make such a
> race condition bug much more visible...
IMO, I think that you should be looking to fix ext4 syncfs issues,
not changing the VFS behaviour that might cause subtle and unnoticed
problems for other filesystems. We should not be moving data
inegrity operations without first auditing of all the filesystem
remount operations for issues.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2014-03-13 0:36 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-05 14:13 Extremely slow remounts with concurrent I/O Lucas Nussbaum
2014-03-06 13:56 ` [PATCH, RFC] jbd2: don't write non-commit blocks synchronously Theodore Ts'o
2014-03-06 17:28 ` Lucas Nussbaum
2014-03-06 18:27 ` Theodore Ts'o
2014-03-06 18:45 ` Lucas Nussbaum
2014-03-06 18:37 ` Lucas Nussbaum
2014-03-08 16:08 ` [PATCH, RFC] fs: only call sync_filesystem() when remounting read-only Theodore Ts'o
2014-03-10 11:45 ` Lucas Nussbaum
2014-03-10 14:41 ` Theodore Ts'o
2014-03-10 12:15 ` Lucas Nussbaum
2014-03-13 0:36 ` Dave Chinner [this message]
2014-03-13 1:16 ` Theodore Ts'o
2014-03-13 3:14 ` Theodore Ts'o
2014-03-13 6:04 ` Dave Chinner
2014-03-13 12:55 ` Theodore Ts'o
2014-03-13 7:39 ` Christoph Hellwig
2014-03-13 14:20 ` [PATCH] fs: push sync_filesystem() down to the file system's remount_fs() Theodore Ts'o
[not found] ` <1394720456-16629-1-git-send-email-tytso-3s7WtUTddSA@public.gmane.org>
2014-03-13 16:23 ` Jan Kara
2014-03-13 16:28 ` Steven Whitehouse
2014-03-13 23:15 ` [Cluster-devel] " Theodore Ts'o
[not found] ` <20140313231506.GB16785-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2014-03-14 12:13 ` Jan Kara
2014-03-14 0:33 ` Steve French
2014-03-14 1:23 ` Theodore Ts'o
2014-03-13 7:19 ` Extremely slow remounts with concurrent I/O Dave Chinner
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=20140313003635.GA4263@dastard \
--to=david@fromorbit.com \
--cc=emmanuel.jeanvoine@inria.fr \
--cc=linux-ext4@vger.kernel.org \
--cc=lucas.nussbaum@loria.fr \
--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).