From: Theodore Ts'o <tytso@mit.edu>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH] fs: push sync_filesystem() down to the file system's remount_fs()
Date: Thu, 13 Mar 2014 21:23:00 -0400 [thread overview]
Message-ID: <20140314012300.GA8282@thunk.org> (raw)
In-Reply-To: <CAH2r5mvtLZYt=L9HHYOYGBB-kZNXrPiMQL-agzD_VRGCW4vMcw@mail.gmail.com>
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@mit.edu> 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.
Cheers,
- Ted
prev parent reply other threads:[~2014-03-14 1:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20140313073936.GA14663@infradead.org>
2014-03-13 14:20 ` [Cluster-devel] [PATCH] fs: push sync_filesystem() down to the file system's remount_fs() Theodore Ts'o
2014-03-13 16:23 ` Jan Kara
2014-03-13 16:28 ` Steven Whitehouse
2014-03-13 23:15 ` Theodore Ts'o
2014-03-14 12:13 ` Jan Kara
2014-03-14 0:33 ` Steve French
2014-03-14 1:23 ` Theodore Ts'o [this message]
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=20140314012300.GA8282@thunk.org \
--to=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).