Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Similar to c257b0d7b4dd.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
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>
|
|
Reported-by: Jan Steffens <heftig@archlinux.org>
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
This gives the loop detach logic an actual chance of working.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
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>
|
|
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>
|
|
Fixes FS#30271.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
There's no need to keep this mildly dangerous script executable on the
filesystem.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
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>
|
|
- 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>
|
|
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>
|
|
Make this consistent with the rest of the codebase.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
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>
|
|
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.
|