Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and suspend2: hang in atomic copy)

Linus Torvalds
2007-04-25T22:56:45Z

On Thu, 26 Apr 2007, Nigel Cunningham wrote:
> >
> > And name *one* thing that have in common.
>
> Set/reset the scsi transaction id thingy? Hibernation didn't work with
> SCSI for a long time precisely because that support was missing.

And by "hibernation", you mean what? You mean "snapshot + shutdown",
right?

Think about it for five seconds, and then ask yourself: at which point in
the "snapshot + shutdown" sequence would you actually tell a disk to shut
down?

If you said "snapshot", then you'd be *wrong*.

That's my _point_. The snapshot() function should not (and MUST NOT) tell
disks to shut down, because unlike suspend(), we're still going to _use_
those disks afterwards (why? To write out the snapshot image!).

In other words, the act of creating a snapshot has *nothing* to do with
suspend.

Now, after you've created (and written out) the snapshot, what do you
actually end up doing?

That's right - you end up _shutting down_ the machine, and yes, as part
of the _shutdown_ sequence you may actually end up doing a lot of the
things that a suspend would do. But that's long *after* you've actually
done the "snapshot" part, and has absolutely nothing to do with it.

That's where I started: whole "suspend to disk" thing actually has _more_
to do with "shutdown" than with "suspend".

Linus