extrahd: use udev rule to mount extrahd partitions
the previous patches for https://bugzilla.ipfire.org/show_bug.cgi?id=12863 introduce a new bug that slow devices are not mounted at boot. So now udev calls the extrahd script with the uuid. Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
parent
fe2fd95a9e
commit
7c9f5f9882
|
@ -35,10 +35,20 @@ extrahd_mount() {
|
|||
local failed=0
|
||||
|
||||
while IFS=';' read -r device filesystem mountpoint rest; do
|
||||
# Filter by mountpoint if set
|
||||
if [ -n "${_mountpoint}" ] && [ "${mountpoint}" != "${_mountpoint}" ]; then
|
||||
continue
|
||||
fi
|
||||
# Filter by UUID or mountpoint
|
||||
case "${_mountpoint}" in
|
||||
UUID=*)
|
||||
if [ "${device}" != "${_mountpoint}" ]; then
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
|
||||
/*)
|
||||
if [ -n "${_mountpoint}" ] && [ "${mountpoint}" != "${_mountpoint}" ]; then
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# Check that the mountpoint starts with a slash
|
||||
if [ "${mountpoint:0:1}" != "/" ]; then
|
||||
|
@ -75,10 +85,20 @@ extrahd_umount() {
|
|||
local failed=0
|
||||
|
||||
while IFS=';' read -r device filesystem mountpoint rest; do
|
||||
# Filter by mountpoint if set
|
||||
if [ -n "${_mountpoint}" ] && [ "${mountpoint}" != "${_mountpoint}" ]; then
|
||||
continue
|
||||
fi
|
||||
# Filter by UUID or mountpoint
|
||||
case "${_mountpoint}" in
|
||||
UUID=*)
|
||||
if [ "${device}" != "${_mountpoint}" ]; then
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
|
||||
/*)
|
||||
if [ -n "${_mountpoint}" ] && [ "${mountpoint}" != "${_mountpoint}" ]; then
|
||||
continue
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# Do not try to umount if nothing is mounted
|
||||
if ! mountpoint "${mountpoint}" &>/dev/null; then
|
||||
|
|
|
@ -70,6 +70,7 @@ lib/udev/rules.d/60-persistent-storage.rules
|
|||
lib/udev/rules.d/60-persistent-v4l.rules
|
||||
lib/udev/rules.d/60-sensor.rules
|
||||
lib/udev/rules.d/60-serial.rules
|
||||
lib/udev/rules.d/61-extrahd.rules
|
||||
lib/udev/rules.d/64-btrfs.rules
|
||||
lib/udev/rules.d/70-camera.rules
|
||||
lib/udev/rules.d/70-joystick.rules
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
ACTION=="add", SUBSYSTEM=="block", RUN+="/var/ipfire/extrahd/bin/extrahd.pl udev-event"
|
4
lfs/udev
4
lfs/udev
|
@ -122,6 +122,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
|||
install -v -m 644 $(DIR_SRC)/config/udev/60-net.rules \
|
||||
/lib/udev/rules.d
|
||||
|
||||
# Install ExtraHD rules
|
||||
install -v -m 644 $(DIR_SRC)/config/udev/61-extrahd.rules \
|
||||
/lib/udev/rules.d
|
||||
|
||||
# Install AQM rules
|
||||
install -v -m 644 $(DIR_SRC)/config/udev/99-aqm.rules \
|
||||
/lib/udev/rules.d
|
||||
|
|
Loading…
Reference in New Issue