mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-19 07:23:03 +02:00
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:
@@ -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
|
||||
|
||||
1
config/udev/61-extrahd.rules
Normal file
1
config/udev/61-extrahd.rules
Normal file
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user