All of lore.kernel.org
 help / color / mirror / Atom feed
From: Muhammad Hamza <muhammad_hamza@mentor.com>
To: <openembedded-core@lists.openembedded.org>
Cc: Muhammad Hamza <muhammad_hamza@mentor.com>,
	"Arsalan H . Awan" <Arsalan_Awan@mentor.com>
Subject: [PATCH] udev-extraconf/mount.sh: add LABELs to mountpoints
Date: Mon, 20 Jun 2022 17:26:40 +0500	[thread overview]
Message-ID: <20220620122640.239381-1-muhammad_hamza@mentor.com> (raw)

This alters the mountpoints such that if a device has a LABEL or
a PARTLABEL, it will be mounted at e.g.:

  /run/media/$LABEL-<device-node>
  /run/media/$PARTLABEL-<device-node>
  /run/media/rootfs-sda2

otherwise the device will be mounted at e.g.:

  /run/media/<device-node>
  /run/media/sda1

The <device-node> appended with LABEL or PARTLABEL makes sure that
the mountpoint is unique, therefore, avoids overlapping mounts.

Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
Signed-off-by: Muhammad Hamza <muhammad_hamza@mentor.com>
---
 .../recipes-core/udev/udev-extraconf/mount.sh | 20 +++++++++++++++++++
 meta/recipes-core/udev/udev-extraconf_1.1.bb  |  2 +-
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
index c8b773bc07..12c6a5af22 100644
--- a/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -54,6 +54,16 @@ automount_systemd() {
         grep "^[[:space:]]*$tmp" /etc/fstab && return
     done
 
+    # Get the LABEL or PARTLABEL
+    LABEL=`/sbin/blkid | grep "${DEVNAME}:" | grep -o 'LABEL=".*"' | cut -d '"' -f2`
+    # If the $DEVNAME has a LABEL or a PARTLABEL
+    if [ -n "$LABEL" ]; then
+            # Set the mount location dir name to LABEL appended
+            # with $name e.g. label-sda. That would avoid overlapping
+            # mounts in case two devices have same LABEL
+            name="${LABEL}-${name}"
+    fi
+
     [ -d "$MOUNT_BASE/$name" ] || mkdir -p "$MOUNT_BASE/$name"
 
     MOUNT="$MOUNT -o silent"
@@ -94,6 +104,16 @@ automount() {
 	# configured in fstab
 	grep -q "^$DEVNAME " /proc/mounts && return
 
+        # Get the LABEL or PARTLABEL
+        LABEL=`/sbin/blkid | grep "${DEVNAME}:" | grep -o 'LABEL=".*"' | cut -d '"' -f2`
+        # If the $DEVNAME has a LABEL or a PARTLABEL
+        if [ -n "$LABEL" ]; then
+                # Set the mount location dir name to LABEL appended
+                # with $name e.g. label-sda. That would avoid overlapping
+                # mounts in case two devices have same LABEL
+                name="${LABEL}-${name}"
+        fi
+
 	! test -d "$MOUNT_BASE/$name" && mkdir -p "$MOUNT_BASE/$name"
 	# Silent util-linux's version of mounting auto
 	if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ;
diff --git a/meta/recipes-core/udev/udev-extraconf_1.1.bb b/meta/recipes-core/udev/udev-extraconf_1.1.bb
index 2b908ac05b..8213c1a930 100644
--- a/meta/recipes-core/udev/udev-extraconf_1.1.bb
+++ b/meta/recipes-core/udev/udev-extraconf_1.1.bb
@@ -38,7 +38,7 @@ do_install() {
 }
 
 FILES:${PN} = "${sysconfdir}/udev"
-RDEPENDS:${PN} = "udev"
+RDEPENDS:${PN} = "udev util-linux-blkid"
 CONFFILES:${PN} = "${sysconfdir}/udev/mount.ignorelist"
 
 # to replace udev-extra-rules from meta-oe
-- 
2.25.1



             reply	other threads:[~2022-06-20 12:27 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-20 12:26 Muhammad Hamza [this message]
2022-06-21  8:20 ` [OE-core] [PATCH] udev-extraconf/mount.sh: add LABELs to mountpoints Luca Ceresoli
2022-06-21  9:07   ` Hamza, Muhammad

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220620122640.239381-1-muhammad_hamza@mentor.com \
    --to=muhammad_hamza@mentor.com \
    --cc=Arsalan_Awan@mentor.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.