[Top] [All Lists]

Re: [PATCH] fs: push sync_filesystem() down to the file system's remount

To: Steve French <smfrench@xxxxxxxxx>
Subject: Re: [PATCH] fs: push sync_filesystem() down to the file system's remount_fs()
From: Theodore Ts'o <tytso@xxxxxxx>
Date: Thu, 13 Mar 2014 21:23:00 -0400
Cc: linux-fsdevel@xxxxxxxxx, Ext4 Developers List <linux-ext4@xxxxxxxxxxxxxxx>, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, Artem Bityutskiy <dedekind1@xxxxxxxxx>, Adrian Hunter <adrian.hunter@xxxxxxxxx>, Evgeniy Dushistov <dushistov@xxxxxxx>, Jan Kara <jack@xxxxxxx>, OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>, Anders Larsen <al@xxxxxxxxxxx>, Phillip Lougher <phillip@xxxxxxxxxxxxxxx>, Kees Cook <keescook@xxxxxxxxxxxx>, Mikulas Patocka <mikulas@xxxxxxxxxxxxxxxxxxxxxxxx>, Petr Vandrovec <petr@xxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, linux-btrfs@xxxxxxxxxxxxxxx, "linux-cifs@xxxxxxxxxxxxxxx" <linux-cifs@xxxxxxxxxxxxxxx>, samba-technical <samba-technical@xxxxxxxxxxxxxxx>, codalist@xxxxxxxxxxxxxxxxxxxxxxxx, linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, fuse-devel@xxxxxxxxxxxxxxxxxxxxx, cluster-devel@xxxxxxxxxx, linux-mtd@xxxxxxxxxxxxxxxxxxx, jfs-discussion@xxxxxxxxxxxxxxxxxxxxx, "linux-nfs@xxxxxxxxxxxxxxx" <linux-nfs@xxxxxxxxxxxxxxx>, linux-nilfs@xxxxxxxxxxxxxxx, linux-ntfs-dev@xxxxxxxxxxxxxxxxxxxxx, ocfs2-devel@xxxxxxxxxxxxxx, reiserfs-devel@xxxxxxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=simple/simple; d=thunk.org; s=mail; t=1394760180; bh=SBskCUr/UZE4sbvq7XZkXxrcWoDNTPR6CWSpmKJX72Y=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Ig9V9B9tUSSnX7ZH9OXeLHgKlVFzzizHa7GD+4hWzwb6vdSooc/mN2H4lCuzb96jb vMcql+AWNZ5Avy43ks8ApmUSfssMAh4f9gDFu1Ehc7VtdIsMENuXHNZn6iql4jOIgK YH3v50ZirAiAZJnyT/B019sJUdem7jHEgXLeQDOs=
In-reply-to: <CAH2r5mvtLZYt=L9HHYOYGBB-kZNXrPiMQL-agzD_VRGCW4vMcw@xxxxxxxxxxxxxx>
References: <20140313073936.GA14663@xxxxxxxxxxxxx> <1394720456-16629-1-git-send-email-tytso@xxxxxxx> <CAH2r5mvtLZYt=L9HHYOYGBB-kZNXrPiMQL-agzD_VRGCW4vMcw@xxxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Thu, Mar 13, 2014 at 07:33:02PM -0500, Steve French wrote:
> On Thu, Mar 13, 2014 at 9:20 AM, Theodore Ts'o <tytso@xxxxxxx> wrote:
> > Previously, the no-op "mount -o mount /dev/xxx" operation when the
> > file system is already mounted read-write causes an implied,
> > unconditional syncfs().  This seems pretty stupid, and it's certainly
> > documented or guaraunteed to do this, nor is it particularly useful,
> > except in the case where the file system was mounted rw and is getting
> > remounted read-only.
> Is there a case where a file system, not mounted read-only,
> would want to skip the syncfs on remount?  I don't know
> of any particular reason to do a syncfs on remount unless
> caching behavior is changing (or moving to read-only mount),
> but if as you say it is documented and guaranteed...

If the file system is mounted read-write, and it is transitioning to
read-only, i.e. "mount -o remount,ro /" then you do want to write out
all dirty data before you transition it to be read-only (otherwise you
would lose data).

It is my belief that this is the _only_ data integrity issue which is
implied by remount (and this is more about not losing work done by
previous system calls).

The background reason for this commit is that a user complained on the
ext4 list that he is using containers in a virtualization environment,
and due to the init scripts which the user doesn't want to change, it
is causing gazillions of no-op remounts, and this is causing ext4 (and
xfs) to do send CACHE FLUSH commands because it is required by the
syncfs(2) system call, which also calls sync_filesystem.  These CACHE
FLUSH commands are unneeded for anything, especially for these no-op
remounts, and so I want them to go away for remounts, but they should
still be there in response to syncfs(2) requests.


                                        - Ted

<Prev in Thread] Current Thread [Next in Thread>