Package: linux-image-2.6.18-3-k7 Version: 2.6.18-7 Severity: normal [Initial report, to uswsusp, with input from uswsusp maintainer, mdadm maintainer, and some others on #415441. I'm not sure whether to merge this report with that, or keep them as separate issues with one blocking the other, as whatever is resolved here might have an impact on uswsusp's initrd scripts. Advice would be appreciated.]
When using software suspend on this kernel, (some) raid arrays are not shutdown before the machine is. Thus, on the next startup, when the initrd detects them (which happens before attempting to resume from suspend) it schedules a reconstruction. This, in turn, prevents resume from working, as the reconstructing process cannot be frozen. (Also, it was said on the original report that this reconstruction can cause data loss). Now, I have worked around this in two ways: 1. By having the resume script in the initrd wait for the reconstruction. Workable if I first set the array to have a write intent bitmap (otherwise the reconstruction, and thus the resume, takes ~40 minutes). But it sounds wrong to do this, as I assume the resume image to expect the array to be unsync'd, since it was saved in such state. 2. By moving the resume to happen *before* raid discovery in the initrd's scripts. Which takes care of above's issue, but is not a workable solution for the uswsusp or mdadm maintainers, since the resume image itself might be in an array. Or in an LVM volume which is itself in an array, ... FWIW, in this system this workaround has been in use for about 15 days, without apparent ill effects. Why do I think the kernel ought to shutdown the array before final system shutdown? Because a home compiled vanilla 2.6.17, with kernel space suspend, and built-in (not modules) sw raid, does so. In that kernel, without an initrd, suspending by /bin/echo shutdown > /sys/power/disk; /bin/echo disk > /sys/power/state then restarting finds and assembles raid arrays before resuming without triggering resyncs. Just to be complete, my set up is as follows: Two identical ide disks, hda, hde. Four partitions on each. hd{a,e}3 combined into a raid1 array used as / (md1). hd{a,e}4 combined into a raid1 array used as pv for lvm with all other filesystems (md2). hda1 as /boot, hde1 unused. hde2 as swap. hda2 as low-priority swap, and used to hold suspend image. On this setup, the without my workarounds behaviour is that md1 (appears to be) propperly shutdown. Next bootup simply finds it and assembles it. But md2 is not shutdown and triggers a resync on assembly, thus propting all this bug report. I'm using uswsusp 0.6~cvs20070202-1 with compressed, encrypted images, altough that seems to be irrelevant, since the resume image is always properly found and (if the array rebuild is avoided) loaded. -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (500, 'testing'), (400, 'unstable'), (50, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.18-3-k7 (SMP w/1 CPU core) Locale: LANG=es_MX, LC_CTYPE=es_MX (charmap=ISO-8859-1) Shell: /bin/sh linked to /bin/bash Versions of packages linux-image-2.6.18-3-k7 depends on: ii coreutils 5.97-5.3 The GNU core utilities ii debconf [debconf-2.0] 1.5.13 Debian configuration management sy ii initramfs-tools [linux-initra 0.85g tools for generating an initramfs ii module-init-tools 3.3-pre4-2 tools for managing Linux kernel mo Versions of packages linux-image-2.6.18-3-k7 recommends: ii libc6-i686 2.3.6.ds1-13 GNU C Library: Shared libraries [i -- debconf information: linux-image-2.6.18-3-k7/postinst/old-initrd-link-2.6.18-3-k7: true linux-image-2.6.18-3-k7/postinst/kimage-is-a-directory: linux-image-2.6.18-3-k7/postinst/bootloader-error-2.6.18-3-k7: linux-image-2.6.18-3-k7/preinst/elilo-initrd-2.6.18-3-k7: true linux-image-2.6.18-3-k7/postinst/old-dir-initrd-link-2.6.18-3-k7: true linux-image-2.6.18-3-k7/preinst/lilo-has-ramdisk: linux-image-2.6.18-3-k7/preinst/abort-install-2.6.18-3-k7: * linux-image-2.6.18-3-k7/preinst/lilo-initrd-2.6.18-3-k7: false linux-image-2.6.18-3-k7/preinst/abort-overwrite-2.6.18-3-k7: linux-image-2.6.18-3-k7/preinst/failed-to-move-modules-2.6.18-3-k7: linux-image-2.6.18-3-k7/postinst/create-kimage-link-2.6.18-3-k7: true shared/kernel-image/really-run-bootloader: true linux-image-2.6.18-3-k7/postinst/depmod-error-initrd-2.6.18-3-k7: false linux-image-2.6.18-3-k7/postinst/old-system-map-link-2.6.18-3-k7: true linux-image-2.6.18-3-k7/postinst/depmod-error-2.6.18-3-k7: false linux-image-2.6.18-3-k7/prerm/removing-running-kernel-2.6.18-3-k7: true linux-image-2.6.18-3-k7/preinst/overwriting-modules-2.6.18-3-k7: true linux-image-2.6.18-3-k7/preinst/bootloader-initrd-2.6.18-3-k7: true linux-image-2.6.18-3-k7/preinst/already-running-this-2.6.18-3-k7: linux-image-2.6.18-3-k7/prerm/would-invalidate-boot-loader-2.6.18-3-k7: true linux-image-2.6.18-3-k7/preinst/initrd-2.6.18-3-k7: linux-image-2.6.18-3-k7/postinst/bootloader-test-error-2.6.18-3-k7:
signature.asc
Description: Digital signature