linuxOS_AP06/buildroot/package/usbmount/0009-Use-flock-instead-of-lockfile.patch
2025-06-03 12:28:32 +08:00

46 lines
1.3 KiB
Diff

From 870311638f1b28cb653dcc7a478af4d1155f96a2 Mon Sep 17 00:00:00 2001
From: Jeffy Chen <jeffy.chen@rock-chips.com>
Date: Tue, 27 Aug 2024 16:49:59 +0800
Subject: [PATCH 09/10] Use flock instead of lockfile
The lockfile is slow for multiple partitions somehow.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
---
usbmount | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/usbmount b/usbmount
index 870e9d6..b464362 100755
--- a/usbmount
+++ b/usbmount
@@ -82,9 +82,10 @@ if [ "$1" = add ]; then
# Acquire lock.
log debug "trying to acquire lock /var/run/usbmount/.mount.lock"
- lockfile-create --retry 3 /var/run/usbmount/.mount || \
- { log err "cannot acquire lock /var/run/usbmount/.mount.lock"; exit 1; }
- trap '( lockfile-remove /var/run/usbmount/.mount )' 0
+ mkdir -p /var/run/usbmount/
+ touch /var/run/usbmount/.mount.lock
+ exec 3</var/run/usbmount/.mount.lock
+ flock -x 3
log debug "acquired lock /var/run/usbmount/.mount.lock"
if ! echo $ID_FS_USAGE | egrep -q "(filesystem|disklabel)"; then
@@ -177,6 +178,11 @@ if [ "$1" = add ]; then
fi
fi
fi
+
+ # Release lock.
+ log debug "release lock /var/run/usbmount/.mount.lock"
+ flock -u 3
+
elif [ "$1" = remove ]; then
# A block or partition device has been removed.
--
2.20.1