linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugzilla.kernel.org
To: linux-ext4@vger.kernel.org
Subject: [Bug 76261] ext4_da_writepages err -30 after remount ro during shutdown
Date: Fri, 16 May 2014 03:49:28 +0000	[thread overview]
Message-ID: <bug-76261-13602-811UeExom8@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-76261-13602@https.bugzilla.kernel.org/>

https://bugzilla.kernel.org/show_bug.cgi?id=76261

--- Comment #6 from Theodore Tso <tytso@mit.edu> ---
Looking at the Android source code, they already have code to parse and iterate
over /proc/mounts.  So what I'd recommend is that this code (a) try to do a
normal umount, (b) if (a) fails, try to do a remount read/only, then (c) if (a)
(b) fails, call syncfs() to force the file system to write back all of dirty
data.

Then after it has iterated over all of the file systems, it can then try to do
the emergency remount read/only command.

The other thing I'd suggest is that android do a better job requesting that
processes cleanly shutdown, and then after a decent interval, force kill all of
the remaining processes before doing the file system umount code path as
described above.  If the other processes were cleanly shut down, then there
won't be any further disk writes, and it should be possible for the file
systems to be cleanly unmounted, assuming that the last remaining process
chdir's itself to the root directory, and then remounts the root file system
read/only as the final step.

Again, this is what a proper Unix/Linux system would do for a clean shutdown.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.

  parent reply	other threads:[~2014-05-16  3:49 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-15  5:01 [Bug 76261] New: ext4_da_writepages err -30 after remount ro during shutdown bugzilla-daemon
2014-05-15 15:11 ` [Bug 76261] " bugzilla-daemon
2014-05-16  1:50 ` bugzilla-daemon
2014-05-16  3:32 ` bugzilla-daemon
2014-05-16  3:36 ` bugzilla-daemon
2014-05-16  3:47 ` bugzilla-daemon
2014-05-16  3:49 ` bugzilla-daemon [this message]
2014-05-16  3:52 ` bugzilla-daemon
2014-05-16  4:27 ` bugzilla-daemon
2014-05-16  5:10 ` bugzilla-daemon
2014-05-16 12:11 ` bugzilla-daemon
2014-05-16 13:44 ` bugzilla-daemon
2014-05-19  3:41 ` bugzilla-daemon
2014-05-19 12:46 ` bugzilla-daemon
2014-05-19 13:41 ` bugzilla-daemon
2016-08-03  2:10 ` bugzilla-daemon
2016-08-03  2:34 ` bugzilla-daemon
2016-08-03  2:39 ` bugzilla-daemon
2016-08-03  3:14 ` bugzilla-daemon

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=bug-76261-13602-811UeExom8@https.bugzilla.kernel.org/ \
    --to=bugzilla-daemon@bugzilla.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    /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).