From: Milton Miller <miltonm@bga.com>
To: Jeremy Maitin-Shepard <jbms@cmu.edu>
Cc: linux-pm <linux-pm@lists.linux-foundation.org>
Subject: Re: Re: Hibernation considerations
Date: Fri, 20 Jul 2007 14:09:00 -0500 [thread overview]
Message-ID: <f56664625c843ac71672d2818c4df69f@bga.com> (raw)
In-Reply-To: f29402c6050f9c3ff5d83a59cea2de58%40bga.com
On Fri Jul 20 10:31:41 PDT 2007, Jeremy Maitin-Shepard wrote:
> Milton Miller <miltonm at bga.com> writes:
>>>>> (7) how to avoid corrupting filesystems mounted by the hibernated
>>>>> kernel
>>>>
>>>> I didn't realize this was a discussion item. I thought the options
>>>> were
>>>> clear, for some filesystem types you can mount them read-only, but
>>>> for
>>>> ext3 (and possilby other less common ones) you just plain cannot
>>>> touch
>>>> them.
>>>
>>> That's correct. And since you cannot thouch ext3, you need either
>>> to assume
>>> that you won't touch filesystems at all, or to have a code to
>>> recognize the
>>> filesystem you're dealing with.
>>
>> Or add a small bit of infrastructure that errors writes at
>> make_request if you
>> don't have a magic "i am a direct block device write from userspace"
>> flag on the
>> bio.
>
> I still don't understand why there is this fixation on accessing dirty
> filesystems in use by the hibernated system. Even if you avoid
> corrupting the filesystem by avoiding writing to the block device,
> there
> isn't any real guarantee about the state of the data, except for a
> filesystem that specifically makes guarantees about such data (and I
> don't believe any of the existing ones do).
>
> It isn't necessary to be able to access such filesystems: everything
> can
> be done from an initramfs/initrd.
There is a requirement to hibernate without dedicating a partition to
save the data. Two reasons given have been upgrading ram in a machine
should not require a repartition of the hard drive, and the intel macs
can only have 4 partitions total and people want to dual boot.
Not having a separate partition means the userspace in the initramfs
needs to obtain a list of blocks upon which to write the data. My
first proposal was to do it all from userspace of the new kernel by
calling bmap on the filesystem mounted read only. My later proposal
is to allocate the blocks in the suspending kernel and pass the block
list to userspace.
There is still the question of how does the restore kernel find the
block list to restore from. It does help the first kernel invalidating
the image in the suspend-to-both resume-from-ram case.
milton
PS: I'm not subscribed to the list, and only saw your reply on the
archives ... which give me my message id as the message to reply to.
I'd appreciate being cc'd in the future. Thanks.
next parent reply other threads:[~2007-07-20 19:09 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <f29402c6050f9c3ff5d83a59cea2de58%40bga.com>
2007-07-20 19:09 ` Milton Miller [this message]
2007-07-20 20:23 ` Re: Hibernation considerations Jeremy Maitin-Shepard
[not found] <9D7649D18729DE4BB2BD7B494F7FEDC236CF5C@pdsmsx415.ccr.corp.intel.com>
2007-07-24 14:50 ` Alan Stern
[not found] <Pine.LNX.4.44L0.0707231120380.3545-100000@iolanthe.rowland.org>
2007-07-23 21:55 ` Nigel Cunningham
[not found] ` <200707240755.01820.nigel@nigel.suspend2.net>
2007-07-23 22:10 ` Rafael J. Wysocki
[not found] <Pine.LNX.4.64.0707231121220.3828@asgard.lang.hm>
2007-07-23 20:22 ` Alan Stern
2007-07-24 13:26 ` Huang, Ying
[not found] <Pine.LNX.4.44L0.0707231035150.3545-100000@iolanthe.rowland.org>
2007-07-23 19:01 ` david
[not found] <200707231311.56398.nigel@nigel.suspend2.net>
2007-07-23 15:23 ` Alan Stern
[not found] <Pine.LNX.4.44L0.0707221608140.16031-100000@netrider.rowland.org>
2007-07-22 21:54 ` david
[not found] <Pine.LNX.4.44L0.0707221116060.15224-100000@netrider.rowland.org>
2007-07-22 16:27 ` Miklos Szeredi
2007-07-22 20:09 ` Alan Stern
2007-07-22 22:42 ` Nigel Cunningham
[not found] ` <200707230842.22121.nigel@nigel.suspend2.net>
2007-07-22 23:09 ` Rafael J. Wysocki
[not found] ` <200707230109.23071.rjw@sisk.pl>
2007-07-22 23:18 ` Nigel Cunningham
2007-07-23 0:04 ` Paul Mackerras
[not found] ` <18083.61595.217126.824924@cargo.ozlabs.ibm.com>
2007-07-23 3:11 ` Nigel Cunningham
2007-07-23 5:31 ` david
2007-07-23 10:24 ` Miklos Szeredi
2007-07-23 12:08 ` Rafael J. Wysocki
2007-07-23 12:14 ` Miklos Szeredi
[not found] ` <E1ICwoE-0004q8-00@dorka.pomaz.szeredi.hu>
2007-07-23 12:27 ` Rafael J. Wysocki
2007-07-23 12:31 ` Oliver Neukum
[not found] ` <200707231431.30372.oliver@neukum.org>
2007-07-23 13:08 ` Miklos Szeredi
[not found] ` <200707231601.09541.rjw@sisk.pl>
2007-07-23 14:01 ` Miklos Szeredi
2007-07-23 14:01 ` Rafael J. Wysocki
2007-07-23 19:08 ` david
[not found] <Pine.LNX.4.64.0707212000380.6747@asgard.lang.hm>
2007-07-22 16:00 ` Alan Stern
2007-07-22 21:50 ` david
2007-07-23 15:19 ` Alan Stern
[not found] <Pine.LNX.4.44L0.0707210956320.8201-100000@netrider.rowland.org>
2007-07-22 3:43 ` david
[not found] <877ioupxi8.fsf@jbms.ath.cx>
2007-07-20 22:35 ` Alan Stern
2007-07-20 22:43 ` david
2007-07-20 22:48 ` Jeremy Maitin-Shepard
[not found] ` <Pine.LNX.4.64.0707201540260.5166@asgard.lang.hm>
2007-07-21 5:21 ` Nigel Cunningham
2007-07-21 14:10 ` Alan Stern
[not found] <200707202335.05519.oliver@neukum.org>
2007-07-20 22:25 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.0707201820050.5241-100000@iolanthe.rowland.org>
2007-07-23 14:23 ` Oliver Neukum
2007-08-01 9:34 ` Pavel Machek
[not found] ` <20070801093437.GC4808@ucw.cz>
2007-08-03 3:50 ` david
[not found] <Pine.LNX.4.44L0.0707201608120.2546-100000@iolanthe.rowland.org>
2007-07-20 21:35 ` Oliver Neukum
[not found] <200707202203.27849.oliver@neukum.org>
2007-07-20 20:12 ` Alan Stern
[not found] <Pine.LNX.4.44L0.0707201408060.2546-100000@iolanthe.rowland.org>
2007-07-20 19:08 ` Milton Miller
2007-07-20 20:03 ` Oliver Neukum
[not found] <fe998950b9d5ad317d5c1f5ff4e21ac9@bga.com>
2007-07-20 19:37 ` Alan Stern
2007-07-17 20:27 david
[not found] ` <Pine.LNX.4.44L0.0707171416120.3728-100000@iolanthe.rowland.org>
[not found] ` <200707172217.01890.rjw@sisk.pl>
[not found] ` <87odiag45q.fsf@jbms.ath.cx>
[not found] ` <200707151433.34625.rjw@sisk.pl>
[not found] ` <200707172320.16279.rjw@sisk.pl>
2007-07-20 14:01 ` Milton Miller
2007-07-20 14:48 ` Huang, Ying
2007-07-20 15:48 ` david
2007-07-22 2:17 ` Huang, Ying
[not found] ` <1185070634.3517.11.camel@caritas-dev.intel.com>
2007-07-22 2:32 ` david
2007-07-20 21:34 ` Rafael J. Wysocki
[not found] ` <ea7a437ca4038d408ac544bbc3c2434a@bga.com>
[not found] ` <200707192228.05136.rjw@sisk.pl>
2007-07-20 16:08 ` Milton Miller
2007-07-20 16:20 ` Alan Stern
2007-07-20 17:32 ` Milton Miller
2007-07-20 18:17 ` Alan Stern
2007-07-20 20:31 ` david
2007-07-20 21:24 ` Alan Stern
2007-07-20 21:34 ` david
2007-07-20 21:37 ` Jeremy Maitin-Shepard
[not found] ` <Pine.LNX.4.64.0707201428080.5166@asgard.lang.hm>
2007-07-20 22:15 ` Rafael J. Wysocki
2007-07-20 21:02 ` Rafael J. Wysocki
2007-07-21 11:44 ` Miklos Szeredi
[not found] ` <E1ICDNw-0008HC-00@dorka.pomaz.szeredi.hu>
2007-07-21 12:43 ` Nigel Cunningham
[not found] ` <200707212243.35602.nigel@nigel.suspend2.net>
2007-07-21 13:56 ` Alan Stern
2007-07-21 16:13 ` Jeremy Maitin-Shepard
[not found] ` <87lkd9ohtn.fsf@jbms.ath.cx>
2007-07-21 18:12 ` Miklos Szeredi
2007-07-21 19:20 ` Rafael J. Wysocki
2007-07-21 22:21 ` Nigel Cunningham
[not found] ` <200707212120.04645.rjw@sisk.pl>
2007-08-01 9:22 ` Pavel Machek
[not found] ` <20070801092227.GB4808@ucw.cz>
2007-08-02 17:02 ` Rafael J. Wysocki
2007-08-02 17:02 ` Rafael J. Wysocki
2007-07-21 22:16 ` Nigel Cunningham
2007-07-22 15:26 ` Alan Stern
2007-08-01 9:19 ` Pavel Machek
[not found] ` <Pine.LNX.4.64.0707191542430.28721@asgard.lang.hm>
[not found] ` <200707201317.58025.rjw@sisk.pl>
2007-07-20 16:56 ` Milton Miller
[not found] ` <f29402c6050f9c3ff5d83a59cea2de58@bga.com>
2007-07-20 17:31 ` Jeremy Maitin-Shepard
2007-07-20 21:30 ` Rafael J. Wysocki
2007-07-20 19:26 ` david
2007-07-20 21:28 ` Rafael J. Wysocki
2007-07-20 21:33 ` Jeremy Maitin-Shepard
[not found] ` <87ejj2pxoc.fsf@jbms.ath.cx>
2007-07-20 22:19 ` Rafael J. Wysocki
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=f56664625c843ac71672d2818c4df69f@bga.com \
--to=miltonm@bga.com \
--cc=jbms@cmu.edu \
--cc=linux-pm@lists.linux-foundation.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