From: bugzilla-daemon@bugzilla.kernel.org
To: linux-ext4@kernel.org
Subject: [Bug 198505] Errors from EXt4 FS when resuming from single hibernation image
Date: Thu, 18 Jan 2018 16:19:35 +0000 [thread overview]
Message-ID: <bug-198505-13602-0UUukYOiQE@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-198505-13602@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=198505
Theodore Tso (tytso@mit.edu) changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tytso@mit.edu
--- Comment #1 from Theodore Tso (tytso@mit.edu) ---
This is not a bug, this a fundamental problem with your proposed technique.
The issue is that file system metadata will be actively in use, and in memory.
Dealing with the block group descriptors are doable (but would require kernel
changes). The much bigger problem is going to be with inodes in use by the
mounted data partition. If you want to boot from a frozen hibernation image,
and reuse it over and over again, this approach is pretty much doomed to
failure, I'm afraid. All it takes is for one of the system daemons to have
some file opened for writing --- say, such as a log file, and if you try to
reuse the hibernation image, it's a recipe for file system corruption and user
data loss.
If you can change userspace so that you can unmount the data partition, you
could make it work, since in Android the root partition is read-only, and thus
guaranteed not to change. But that means forcing all of the system daemons
(where by system daemons I am referring to all long-running processes started
at boot before you to suspend your the system in your fundamentally flawed
quick boot scheme) to close their open files and not have any processes set
with their current working directory in the data partition. If you could do
that, you could then after the hibernation, remount the data partition, and
then send a signal to all of the system daemons to reopen any open files and
chdir back into /data.
But if you're going to do all of this, you might as well just simply fix the
userspace to have a faster boot sequence. I'll note that with my Pixel 2 XL,
it has a very fast boot sequence, as does any of my Chromebooks. So fixing
this problem in userspace is definitely the right way to go --- not by trying
some dirty hack like what you're proposing.
--
You are receiving this mail because:
You are watching the assignee of the bug.
prev parent reply other threads:[~2018-01-18 16:19 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-18 11:12 [Bug 198505] New: Errors from EXt4 FS when resuming from single hibernation image bugzilla-daemon
2018-01-18 16:19 ` bugzilla-daemon [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=bug-198505-13602-0UUukYOiQE@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@bugzilla.kernel.org \
--cc=linux-ext4@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).