[reiserfs] Suspend/resume corrupts external data storage devices
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Ubuntu will permit suspend/resume (have not tried hibernate) without attempting to unmount any external USB storage devices, even though processes may still have open files on these devices. After the system is resumed, the USB storage devices may not be present, due to not having been re-enumerated yet. This can and DOES result in data corruption on the filesystem on the external device, as evidenced by errors in dmesg and having to do journal replays. I am not sure that the dmesg here will have the whole story (due to dmesg -c having been run as part of another bug report) but the parts that may not be there basically boil down to reiserfs being very unhappy that the block device was yanked out from under it.
As a policy decision, it is WRONG to allow suspend to take place unless externally-attached USB block devices are still mounted. The system needs to attempt to unmount everything in /media prior to suspending, and needs to FAIL TO SUSPEND (throwing an error) if all devices cannot be unmounted due to some of the mount points being in use.
ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: linux-image-
ProcVersionSign
Uname: Linux 3.0.0-12-generic x86_64
NonfreeKernelMo
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu3
Architecture: amd64
ArecordDevices:
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog]
Subdevices: 2/2
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
Card hw:0 'Intel'/'HDA Intel at 0xfe220000 irq 49'
Mixer name : 'Analog Devices AD1984'
Components : 'HDA:11d41984,
Controls : 32
Simple ctrls : 20
Card29.Amixer.info:
Card hw:29 'ThinkPadEC'
Mixer name : 'ThinkPad EC 7KHT24WW-1.08'
Components : ''
Controls : 1
Simple ctrls : 1
Card29.
Simple mixer control 'Console',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [on]
Date: Sat Oct 29 23:43:31 2011
GvfsMonitorLog: Monitoring events. Press Ctrl+C to quit.
HibernationDevice: RESUME=
HotplugNewDevices:
HotplugNewMounts:
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
MachineType: LENOVO 646067U
PccardctlIdent:
Socket 0:
no product info available
PccardctlStatus:
Socket 0:
no card
ProcEnviron:
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.60
SourcePackage: linux
Symptom: storage
UdevMonitorLog:
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
UdisksMonitorLog: Monitoring activity from the disks daemon. Press Ctrl+C to cancel.
UpgradeStatus: Upgraded to oneiric on 2011-10-17 (13 days ago)
dmi.bios.date: 03/18/2011
dmi.bios.vendor: LENOVO
dmi.bios.version: 7LETC9WW (2.29 )
dmi.board.name: 646067U
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.name: 646067U
dmi.product.
dmi.sys.vendor: LENOVO
affects: | ubuntu → linux (Ubuntu) |
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
tags: | added: needs-upstream-testing resume suspend |
tags: | added: bios-outdated-2.30 needs-suspend-logs regression-potential |
summary: |
- Suspend/resume corrupts external data storage devices + [reiserfs] Suspend/resume corrupts external data storage devices |
On Sun, Oct 30, 2011 at 4:04 PM, Launchpad Bug Tracker
<email address hidden> wrote:
> You have been subscribed to a public bug:
>
> Ubuntu will permit suspend/resume (have not tried hibernate) without
> attempting to unmount any external USB storage devices, even though
> processes may still have open files on these devices. After the system
> is resumed, the USB storage devices may not be present, due to not
> having been re-enumerated yet. This can and DOES result in data
> corruption on the filesystem on the external device, as evidenced by
> errors in dmesg and having to do journal replays. I am not sure that the
How can you conclude that the case may result in data corruption on
filesystem on the external device?
In fact, before system suspend, 'sync' has been called to sync all the data
for all the filesystems.
thanks,
--
Ming Lei