Re: USB: on suspend to ram/disk all usb devices are replugged

From: Chuck Ebbert
Date: Mon Apr 02 2007 - 14:39:15 EST


Alan Stern wrote:
> On Sun, 1 Apr 2007, Pavel Machek wrote:
>
>> Hi!
>>
>>>>>> The GNOME hath spoken?
>>>>> I also thought about that,
>>>>>
>>>>> I think that the best solution is still to hide connect/disconnect of usb devices from userspace (now it also causes corruption)
>>>>> But to refuse suspend with any usb mass storage device connected with mounted systems (and add a module param override
>>>>> for users who know what they are doing)
>>>>>
>>>>> What do you think ?
>>>> Agreed... and notice how easy is to do that in userspace :-))).
>>> The problem with refusing to suspend with usb mass storage devices
>>> mounted is just not going to work; the way we want desktop power
>> Problem is that suspending _with_ removable mass storage devices
>> attached just will not work. User will unplug them, then complain
>> about corruption. Advanced user will unplug them, work with them
>> somewhere else, replug them, then loose filesystem.
>>
>> Feel free to send patch to teach filesystems to handle this.
>
> Actually what's needed is a Persistent Logical Volume Manager. With it,
> you could even mount a filesystem on a USB device, unplug the device, plug
> it back into a different port, and still be able to use the filesystem.
>
> But you're still likely to run into trouble if you unplug a storage
> device, move it to another system and write on it, then plug it back into
> the original system. The PLVM would somehow have to recognize that the
> data had been changed. I don't know a foolproof way of doing that.
>

Mark the filesystem as in-use with a one-time UUID in the superblock at
mount time. If one moved the drive to another system it would require
an fsck to clear the UUID before the other system could use it; then
the original machine would refuse to use the drive when the UUID didn't
match on resume.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/