summaryrefslogtreecommitdiffstats
path: root/shutdown
AgeCommit message (Collapse)AuthorFilesLines
2013-04-24shutdown: use umount --recursiveDave Reisner1-15/+1
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-28shutdown: leave a comment about cryptsetup v. dmsetupDave Reisner1-0/+2
Remind myself why we can't merge these so I'm not tempted to do this again in the future. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-26shutdown: teardown loop devices only after umountDave Reisner1-6/+6
This still isn't really ideal, but attempting to detach loops while they're still mounted will definitely fail. Ideally, the loop device is in autoclear mode and dropping its refcount to 0 on umount will cause the backing file to be detached from the loop. Of course, this all gets way too complicated for userspace to handle when dealing with the sort of rat's nest of loop devices that ArchISO sets up. The kernel doesn't help us out here by populating things like holders/ and slaves/, but I'm not sure it could. Maybe there's a better way... Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-24shutdown: copy kexec from host if requested and not availableDave Reisner1-0/+18
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-24shutdown: avoid talking to udev via dmsetupDave Reisner1-1/+1
Similar to c257b0d7b4dd. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-24shutdown: share dm teardown with lvmDave Reisner1-9/+1
lvm is a chatty bitch and wants to tell all its friends about what it's doing. Mostly this just goes poorly with udev, but now its lvmetad as well. Use dmsetup as a shortcut and just tear down the volumes without worrying about the needless accounting. Guys? GUYS?!?! GUYS IM TEARING STUFF DOWN NOW!!!11!!!111 Fixes FS#32680. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-12shutdown: fix awful typo in reading metadataDave Reisner1-1/+1
Reported-by: Jan Steffens <heftig@archlinux.org> Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-11shutdown: chdir to /sys/class/block earlier0.11.1Dave Reisner1-3/+3
This gives the loop detach logic an actual chance of working. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-11shutdown: simplify recursive disassembleDave Reisner1-6/+1
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-11shutdown: pamper RAID devices with external metadataDave Reisner1-0/+8
Ensure that these devices (likely FakeRAID) are clean before stopping, to avoid leaving them in the dirty state and forcing a rebuild. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-08-13shutdown: add hack workaround for broken dm/kernelDave Reisner1-0/+4
This is already fixed elsewhere, and eventually this hack needs to be removed. However, for now, it seems that some kernels (3.4 and 3.0) will hang on shutdown with the combination of systemd and lvm/crypt. Removing evidence of udev being alive in /run seems to fix this. Fixes FS#30995. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-06-13shutdown: don't alert udev on disable VGsDave Reisner1-1/+1
Fixes FS#30271. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-05-18shutdown: package as 644, install as 755Dave Reisner1-0/+0
There's no need to keep this mildly dangerous script executable on the filesystem. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-04-02shutdown: detach all loop devices before umountingDave Reisner1-0/+6
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-04-02shutdown: refine umount_all logicDave Reisner1-3/+3
remove the mountpoint filtering from the awk processing and drop the -l flag from umount. Not clear why either of these were present -- they're both wrong. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-04-02shutdown: improve handling of dm devicesDave Reisner1-4/+8
- use the 'remove' action for cryptsetup rather than luksClose - handle dm devices with dmsetup, not lvm - disable dmraid devices by name, instead of all at once Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-03-26shutdown: disassemble devices on shutdownDave Reisner1-0/+64
sysfs contains enough information about block devices to be able to determine the order of stacked devices such as lvm, raid, or crypto. By looking at the device symlinks from the holders/ attributes of a block device, we can walk down each device chain until we reach the most descendant device. For each of these devices at the end of a chain, detect its type and perform the appropriate action to disassemble it. Then, walk back up the device chain, disassembling each parent device. To save ourselves some pain and make sure we're fairly accurate, lsblk is brought in for detection of device types. Thanks-To: Florian Pritz <bluewind@xinu.at> Thanks-To: Tom Gundersen <teg@jklm.no> Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-03-26shutdown: add vim modeline, fix whitespacingDave Reisner1-13/+15
Make this consistent with the rest of the codebase. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-01-28shutdown: make reboot the default actionDave Reisner1-5/+2
systemd passes 'kexec' on 'systemctl kexec' which isn't being caught. Catch the few possible verbs for a halt, and let everything else default to trying a kexec; falling back on a reboot. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-01-05shutdown: add new hook0.8.1Dave Reisner1-0/+29
This adds functionality to pivot to back to the initramfs on shutdown, thereby allowing the system to unmount the real root device. This will be necessary for anyone with /usr as a separate partition.