All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/3] udev-extraconf/mount.sh: add support to systemd
@ 2018-08-02  2:50 Hongzhi.Song
  2018-08-02  2:50 ` [PATCH v4 1/3] " Hongzhi.Song
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Hongzhi.Song @ 2018-08-02  2:50 UTC (permalink / raw)
  To: openembedded-core

v4:
    Fix the recursively dependency for the systemd-mount
v3:
    perfect syntax

Hongzhi.Song (3):
  udev-extraconf/mount.sh: add support to systemd
  udev-extraconf/mount.sh: Fix the recursively dependency for the
    systemd-mount
  udev-extraconf/mount.sh: Skip the entry in /etc/fstab when using the
    systemd-mount

 meta/recipes-core/udev/udev-extraconf/mount.sh | 84 ++++++++++++++++++++++----
 1 file changed, 71 insertions(+), 13 deletions(-)

-- 
2.11.0



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 1/3] udev-extraconf/mount.sh: add support to systemd
  2018-08-02  2:50 [PATCH v4 0/3] udev-extraconf/mount.sh: add support to systemd Hongzhi.Song
@ 2018-08-02  2:50 ` Hongzhi.Song
  2018-08-02 16:15   ` Martin Hundebøll
  2018-08-24  2:00   ` Randy MacLeod
  2018-08-02  2:50 ` [PATCH 2/3] udev-extraconf/mount.sh: Fix the recursively dependency for the systemd-mount Hongzhi.Song
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 9+ messages in thread
From: Hongzhi.Song @ 2018-08-02  2:50 UTC (permalink / raw)
  To: openembedded-core

Udev-extraconf works correctly with sysvinit in the aspect of automounting
block devices. But it has a serious problem in case of systemd. Block devices
automounted by udev is unaccessible to host space(out of udevd's private
namespace). For example, we cannot format those block devices.

e.g.
    root@qemux86:~# mkfs.ext4 /dev/sda1
    mke2fs 1.43.8
    /dev/sda1 contains a ext4 file system
    last mounted on Tue Apr
    Proceed anyway? (y,N) y
    /dev/sda1 is apparently in use by the system; will not make a filesystem here!

Other distributions has no such problem, because they use a series of rules to
manager block devices. Different types of block devices match different rules.
But udev-extraconf just use one rule, automount.rules, which results in this
problem.

The 'systemd-mount' command is recommended by the systemd community to solve such
problems.

This patch makes use of 'systemd-mount' to solve the above problem.

[YOCTO #12644]

Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
---
 meta/recipes-core/udev/udev-extraconf/mount.sh | 55 +++++++++++++++++++++++---
 1 file changed, 50 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
index d760328a09..3a72c455e0 100644
--- a/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -4,10 +4,26 @@
 #
 # Attempt to mount any added block devices and umount any removed devices
 
+BASE_INIT="`readlink "/sbin/init"`"
+INIT_SYSTEMD="/lib/systemd/systemd"
+
+if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then
+        MOUNT="/usr/bin/systemd-mount"
+        UMOUNT="/usr/bin/systemd-umount"
+
+        if [ -x $MOUNT ] && [ -x $UMOUNT ];
+        then
+                logger "Using systemd-mount to finish mount"
+        else
+                logger "Linux init is using systemd, so please install systemd-mount to finish mount"
+        fi
+else
+        MOUNT="/bin/mount"
+        UMOUNT="/bin/umount"
+fi
 
-MOUNT="/bin/mount"
 PMOUNT="/usr/bin/pmount"
-UMOUNT="/bin/umount"
+
 for line in `grep -h -v ^# /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/*`
 do
 	if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ];
@@ -17,6 +33,33 @@ do
 	fi
 done
 
+automount_systemd() {
+	name="`basename "$DEVNAME"`"
+
+        ! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
+        # Silent util-linux's version of mounting auto
+        MOUNT="$MOUNT -o silent"
+        
+        # If filesystem type is vfat, change the ownership group to 'disk', and
+        # grant it with  w/r/x permissions.
+        case $ID_FS_TYPE in
+        vfat|fat)
+                MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
+                ;;
+        # TODO
+        *)
+                ;;
+        esac
+
+        if ! $MOUNT --no-block -t auto $DEVNAME "/run/media/$name"
+        then
+                rm_dir "/run/media/$name"
+        else
+                logger "mount.sh/automount" "systemd-mount of [/run/media/$name] successful"
+                touch "/tmp/.automount-$name"
+        fi
+}
+
 automount() {	
 	name="`basename "$DEVNAME"`"
 
@@ -61,19 +104,21 @@ rm_dir() {
 # No ID_FS_TYPE for cdrom device, yet it should be mounted
 name="`basename "$DEVNAME"`"
 [ -e /sys/block/$name/device/media ] && media_type=`cat /sys/block/$name/device/media`
-
 if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" -o "$media_type" = "cdrom" ]; then
 	if [ -x "$PMOUNT" ]; then
 		$PMOUNT $DEVNAME 2> /dev/null
 	elif [ -x $MOUNT ]; then
     		$MOUNT $DEVNAME 2> /dev/null
 	fi
-	
 	# If the device isn't mounted at this point, it isn't
 	# configured in fstab (note the root filesystem can show up as
 	# /dev/root in /proc/mounts, so check the device number too)
 	if expr $MAJOR "*" 256 + $MINOR != `stat -c %d /`; then
-		grep -q "^$DEVNAME " /proc/mounts || automount
+		if [ "`basename $MOUNT`" = "systemd-mount" ];then
+			grep -q "^$DEVNAME " /proc/mounts || automount_systemd
+		else
+			grep -q "^$DEVNAME " /proc/mounts || automount
+		fi
 	fi
 fi
 
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/3] udev-extraconf/mount.sh: Fix the recursively dependency for the systemd-mount
  2018-08-02  2:50 [PATCH v4 0/3] udev-extraconf/mount.sh: add support to systemd Hongzhi.Song
  2018-08-02  2:50 ` [PATCH v4 1/3] " Hongzhi.Song
@ 2018-08-02  2:50 ` Hongzhi.Song
  2018-08-02  2:50 ` [PATCH 3/3] udev-extraconf/mount.sh: Skip the entry in /etc/fstab when using " Hongzhi.Song
  2018-08-22  3:33 ` [PATCH v4 0/3] udev-extraconf/mount.sh: add support to systemd Hongzhi, Song
  3 siblings, 0 replies; 9+ messages in thread
From: Hongzhi.Song @ 2018-08-02  2:50 UTC (permalink / raw)
  To: openembedded-core

If systemd is used, using the systemd-mount to mount the new added disk
partitions forgets to move the codes which tries to mount the partition
by using the configuration in /etc/fstab to the non-systemd function.

And it will cause the systemd-mount try to mount the partition
synchronously and trigger a recursively dependency like the following:
    dev-sda1.device -> run-media-sda1.mount -> dev-sda1.device

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
---
 meta/recipes-core/udev/udev-extraconf/mount.sh | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
index 3a72c455e0..816d975e5e 100644
--- a/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -63,6 +63,16 @@ automount_systemd() {
 automount() {	
 	name="`basename "$DEVNAME"`"
 
+	if [ -x "$PMOUNT" ]; then
+		$PMOUNT $DEVNAME 2> /dev/null
+	elif [ -x $MOUNT ]; then
+		$MOUNT $DEVNAME 2> /dev/null
+	fi
+
+	# If the device isn't mounted at this point, it isn't
+	# configured in fstab
+	grep -q "^$DEVNAME " /proc/mounts && return
+
 	! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
 	# Silent util-linux's version of mounting auto
 	if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ;
@@ -105,19 +115,13 @@ rm_dir() {
 name="`basename "$DEVNAME"`"
 [ -e /sys/block/$name/device/media ] && media_type=`cat /sys/block/$name/device/media`
 if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" -o "$media_type" = "cdrom" ]; then
-	if [ -x "$PMOUNT" ]; then
-		$PMOUNT $DEVNAME 2> /dev/null
-	elif [ -x $MOUNT ]; then
-    		$MOUNT $DEVNAME 2> /dev/null
-	fi
-	# If the device isn't mounted at this point, it isn't
-	# configured in fstab (note the root filesystem can show up as
-	# /dev/root in /proc/mounts, so check the device number too)
+	# Note the root filesystem can show up as /dev/root in /proc/mounts,
+	# so check the device number too
 	if expr $MAJOR "*" 256 + $MINOR != `stat -c %d /`; then
 		if [ "`basename $MOUNT`" = "systemd-mount" ];then
-			grep -q "^$DEVNAME " /proc/mounts || automount_systemd
+			automount_systemd
 		else
-			grep -q "^$DEVNAME " /proc/mounts || automount
+			automount
 		fi
 	fi
 fi
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/3] udev-extraconf/mount.sh: Skip the entry in /etc/fstab when using the systemd-mount
  2018-08-02  2:50 [PATCH v4 0/3] udev-extraconf/mount.sh: add support to systemd Hongzhi.Song
  2018-08-02  2:50 ` [PATCH v4 1/3] " Hongzhi.Song
  2018-08-02  2:50 ` [PATCH 2/3] udev-extraconf/mount.sh: Fix the recursively dependency for the systemd-mount Hongzhi.Song
@ 2018-08-02  2:50 ` Hongzhi.Song
  2018-08-22  3:33 ` [PATCH v4 0/3] udev-extraconf/mount.sh: add support to systemd Hongzhi, Song
  3 siblings, 0 replies; 9+ messages in thread
From: Hongzhi.Song @ 2018-08-02  2:50 UTC (permalink / raw)
  To: openembedded-core

When using systemd, the systemd-fstab-generator would parse the
/etc/fstab and create the corresponding unit dynamically. So we don't
need to handle the ADD action for the partitions in /etc/fstab.

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
---
 meta/recipes-core/udev/udev-extraconf/mount.sh | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
index 816d975e5e..9796cd7b90 100644
--- a/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -36,6 +36,15 @@ done
 automount_systemd() {
 	name="`basename "$DEVNAME"`"
 
+	# Skip the partition which are already in /etc/fstab
+	grep "^[[:space:]]*$DEVNAME" /etc/fstab && return
+	for n in LABEL PARTLABEL UUID PARTUUID; do
+		tmp="$(lsblk -o $n $DEVNAME | sed -e '1d')"
+		test -z "$tmp" && continue
+		tmp="$n=$tmp"
+		grep "^[[:space:]]*$tmp" /etc/fstab && return
+	done
+
         ! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
         # Silent util-linux's version of mounting auto
         MOUNT="$MOUNT -o silent"
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 1/3] udev-extraconf/mount.sh: add support to systemd
  2018-08-02  2:50 ` [PATCH v4 1/3] " Hongzhi.Song
@ 2018-08-02 16:15   ` Martin Hundebøll
  2018-08-03  6:19     ` Hongzhi, Song
  2018-08-24  2:00   ` Randy MacLeod
  1 sibling, 1 reply; 9+ messages in thread
From: Martin Hundebøll @ 2018-08-02 16:15 UTC (permalink / raw)
  To: Hongzhi.Song, openembedded-core

Hi Hongzhi,

I think duplicating all of 'automount' when the only difference is the 
call to 'mount' is unnecessary.

It should be possible to check for system inside the existing 
'automount' (see diff below).

When reading the script I couldn't help cleaning up the special 
treatment of mount from util-linux (busybox accepts '-o silent' too), 
and remove the 'rm_dir' function, which can be replaced by 'rmdir'.

// Martin

diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh 
b/meta/recipes-core/udev/udev-extraconf/mount.sh
index d760328a09..6f013c5afb 100644
--- a/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -20,11 +20,12 @@ done
  automount() {	
  	name="`basename "$DEVNAME"`"

-	! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
-	# Silent util-linux's version of mounting auto
-	if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ;
+	mkdir -p "/run/media/$name"
+
+	# Use systemd-mount to avoid being trapped in udev's mount-namespace
+	if [ "$(readlink /sbin/init)" = "/lib/systemd/systemd" ];
  	then
-		MOUNT="$MOUNT -o silent"
+		MOUNT="/usr/bin/systemd-mount --no-block"
  	fi
  	
  	# If filesystem type is vfat, change the ownership group to 'disk', and
@@ -41,22 +42,12 @@ automount() {
  	if ! $MOUNT -t auto $DEVNAME "/run/media/$name"
  	then
  		#logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME 
\"/run/media/$name\" failed!"
-		rm_dir "/run/media/$name"
+		rmdir "/run/media/$name"
  	else
  		logger "mount.sh/automount" "Auto-mount of [/run/media/$name] 
successful"
  		touch "/tmp/.automount-$name"
  	fi
  }
-	
-rm_dir() {
-	# We do not want to rm -r populated directories
-	if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1"
-	then
-		! test -z "$1" && rm -r "$1"
-	else
-		logger "mount.sh/automount" "Not removing non-empty directory [$1]"
-	fi
-}

  # No ID_FS_TYPE for cdrom device, yet it should be mounted
  name="`basename "$DEVNAME"`"

On 2018-08-02 04:50, Hongzhi.Song wrote:
> Udev-extraconf works correctly with sysvinit in the aspect of automounting
> block devices. But it has a serious problem in case of systemd. Block devices
> automounted by udev is unaccessible to host space(out of udevd's private
> namespace). For example, we cannot format those block devices.
> 
> e.g.
>      root@qemux86:~# mkfs.ext4 /dev/sda1
>      mke2fs 1.43.8
>      /dev/sda1 contains a ext4 file system
>      last mounted on Tue Apr
>      Proceed anyway? (y,N) y
>      /dev/sda1 is apparently in use by the system; will not make a filesystem here!
> 
> Other distributions has no such problem, because they use a series of rules to
> manager block devices. Different types of block devices match different rules.
> But udev-extraconf just use one rule, automount.rules, which results in this
> problem.
> 
> The 'systemd-mount' command is recommended by the systemd community to solve such
> problems.
> 
> This patch makes use of 'systemd-mount' to solve the above problem.
> 
> [YOCTO #12644]
> 
> Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
> ---
>   meta/recipes-core/udev/udev-extraconf/mount.sh | 55 +++++++++++++++++++++++---
>   1 file changed, 50 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
> index d760328a09..3a72c455e0 100644
> --- a/meta/recipes-core/udev/udev-extraconf/mount.sh
> +++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
> @@ -4,10 +4,26 @@
>   #
>   # Attempt to mount any added block devices and umount any removed devices
>   
> +BASE_INIT="`readlink "/sbin/init"`"
> +INIT_SYSTEMD="/lib/systemd/systemd"
> +
> +if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then
> +        MOUNT="/usr/bin/systemd-mount"
> +        UMOUNT="/usr/bin/systemd-umount"
> +
> +        if [ -x $MOUNT ] && [ -x $UMOUNT ];
> +        then
> +                logger "Using systemd-mount to finish mount"
> +        else
> +                logger "Linux init is using systemd, so please install systemd-mount to finish mount"
> +        fi
> +else
> +        MOUNT="/bin/mount"
> +        UMOUNT="/bin/umount"
> +fi
>   
> -MOUNT="/bin/mount"
>   PMOUNT="/usr/bin/pmount"
> -UMOUNT="/bin/umount"
> +
>   for line in `grep -h -v ^# /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/*`
>   do
>   	if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ];
> @@ -17,6 +33,33 @@ do
>   	fi
>   done
>   
> +automount_systemd() {
> +	name="`basename "$DEVNAME"`"
> +
> +        ! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
> +        # Silent util-linux's version of mounting auto
> +        MOUNT="$MOUNT -o silent"
> +
> +        # If filesystem type is vfat, change the ownership group to 'disk', and
> +        # grant it with  w/r/x permissions.
> +        case $ID_FS_TYPE in
> +        vfat|fat)
> +                MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
> +                ;;
> +        # TODO
> +        *)
> +                ;;
> +        esac
> +
> +        if ! $MOUNT --no-block -t auto $DEVNAME "/run/media/$name"
> +        then
> +                rm_dir "/run/media/$name"
> +        else
> +                logger "mount.sh/automount" "systemd-mount of [/run/media/$name] successful"
> +                touch "/tmp/.automount-$name"
> +        fi
> +}
> +
>   automount() {	
>   	name="`basename "$DEVNAME"`"
>   
> @@ -61,19 +104,21 @@ rm_dir() {
>   # No ID_FS_TYPE for cdrom device, yet it should be mounted
>   name="`basename "$DEVNAME"`"
>   [ -e /sys/block/$name/device/media ] && media_type=`cat /sys/block/$name/device/media`
> -
>   if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" -o "$media_type" = "cdrom" ]; then
>   	if [ -x "$PMOUNT" ]; then
>   		$PMOUNT $DEVNAME 2> /dev/null
>   	elif [ -x $MOUNT ]; then
>       		$MOUNT $DEVNAME 2> /dev/null
>   	fi
> -	
>   	# If the device isn't mounted at this point, it isn't
>   	# configured in fstab (note the root filesystem can show up as
>   	# /dev/root in /proc/mounts, so check the device number too)
>   	if expr $MAJOR "*" 256 + $MINOR != `stat -c %d /`; then
> -		grep -q "^$DEVNAME " /proc/mounts || automount
> +		if [ "`basename $MOUNT`" = "systemd-mount" ];then
> +			grep -q "^$DEVNAME " /proc/mounts || automount_systemd
> +		else
> +			grep -q "^$DEVNAME " /proc/mounts || automount
> +		fi
>   	fi
>   fi
>   
> 


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 1/3] udev-extraconf/mount.sh: add support to systemd
  2018-08-02 16:15   ` Martin Hundebøll
@ 2018-08-03  6:19     ` Hongzhi, Song
  0 siblings, 0 replies; 9+ messages in thread
From: Hongzhi, Song @ 2018-08-03  6:19 UTC (permalink / raw)
  To: Martin Hundebøll, openembedded-core



On 2018年08月03日 00:15, Martin Hundebøll wrote:
> Hi Hongzhi,
>
> I think duplicating all of 'automount' when the only difference is the 
> call to 'mount' is unnecessary.

Hi,

The patch is compatible with both systemd and sysvinit.

And generally speaking, there will be no systemd-mount command when 
using sysvinit.


// Hongzhi

>
> It should be possible to check for system inside the existing 
> 'automount' (see diff below).
>
> When reading the script I couldn't help cleaning up the special 
> treatment of mount from util-linux (busybox accepts '-o silent' too), 
> and remove the 'rm_dir' function, which can be replaced by 'rmdir'.
>
> // Martin
>
> diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh 
> b/meta/recipes-core/udev/udev-extraconf/mount.sh
> index d760328a09..6f013c5afb 100644
> --- a/meta/recipes-core/udev/udev-extraconf/mount.sh
> +++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
> @@ -20,11 +20,12 @@ done
>  automount() {
>      name="`basename "$DEVNAME"`"
>
> -    ! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
> -    # Silent util-linux's version of mounting auto
> -    if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ;
> +    mkdir -p "/run/media/$name"
> +
> +    # Use systemd-mount to avoid being trapped in udev's mount-namespace
> +    if [ "$(readlink /sbin/init)" = "/lib/systemd/systemd" ];
>      then
> -        MOUNT="$MOUNT -o silent"
> +        MOUNT="/usr/bin/systemd-mount --no-block"
>      fi
>
>      # If filesystem type is vfat, change the ownership group to 
> 'disk', and
> @@ -41,22 +42,12 @@ automount() {
>      if ! $MOUNT -t auto $DEVNAME "/run/media/$name"
>      then
>          #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME 
> \"/run/media/$name\" failed!"
> -        rm_dir "/run/media/$name"
> +        rmdir "/run/media/$name"
>      else
>          logger "mount.sh/automount" "Auto-mount of [/run/media/$name] 
> successful"
>          touch "/tmp/.automount-$name"
>      fi
>  }
> -
> -rm_dir() {
> -    # We do not want to rm -r populated directories
> -    if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1"
> -    then
> -        ! test -z "$1" && rm -r "$1"
> -    else
> -        logger "mount.sh/automount" "Not removing non-empty directory 
> [$1]"
> -    fi
> -}
>
>  # No ID_FS_TYPE for cdrom device, yet it should be mounted
>  name="`basename "$DEVNAME"`"
>
> On 2018-08-02 04:50, Hongzhi.Song wrote:
>> Udev-extraconf works correctly with sysvinit in the aspect of 
>> automounting
>> block devices. But it has a serious problem in case of systemd. Block 
>> devices
>> automounted by udev is unaccessible to host space(out of udevd's private
>> namespace). For example, we cannot format those block devices.
>>
>> e.g.
>>      root@qemux86:~# mkfs.ext4 /dev/sda1
>>      mke2fs 1.43.8
>>      /dev/sda1 contains a ext4 file system
>>      last mounted on Tue Apr
>>      Proceed anyway? (y,N) y
>>      /dev/sda1 is apparently in use by the system; will not make a 
>> filesystem here!
>>
>> Other distributions has no such problem, because they use a series of 
>> rules to
>> manager block devices. Different types of block devices match 
>> different rules.
>> But udev-extraconf just use one rule, automount.rules, which results 
>> in this
>> problem.
>>
>> The 'systemd-mount' command is recommended by the systemd community 
>> to solve such
>> problems.
>>
>> This patch makes use of 'systemd-mount' to solve the above problem.
>>
>> [YOCTO #12644]
>>
>> Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
>> ---
>>   meta/recipes-core/udev/udev-extraconf/mount.sh | 55 
>> +++++++++++++++++++++++---
>>   1 file changed, 50 insertions(+), 5 deletions(-)
>>
>> diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh 
>> b/meta/recipes-core/udev/udev-extraconf/mount.sh
>> index d760328a09..3a72c455e0 100644
>> --- a/meta/recipes-core/udev/udev-extraconf/mount.sh
>> +++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
>> @@ -4,10 +4,26 @@
>>   #
>>   # Attempt to mount any added block devices and umount any removed 
>> devices
>>   +BASE_INIT="`readlink "/sbin/init"`"
>> +INIT_SYSTEMD="/lib/systemd/systemd"
>> +
>> +if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then
>> +        MOUNT="/usr/bin/systemd-mount"
>> +        UMOUNT="/usr/bin/systemd-umount"
>> +
>> +        if [ -x $MOUNT ] && [ -x $UMOUNT ];
>> +        then
>> +                logger "Using systemd-mount to finish mount"
>> +        else
>> +                logger "Linux init is using systemd, so please 
>> install systemd-mount to finish mount"
>> +        fi
>> +else
>> +        MOUNT="/bin/mount"
>> +        UMOUNT="/bin/umount"
>> +fi
>>   -MOUNT="/bin/mount"
>>   PMOUNT="/usr/bin/pmount"
>> -UMOUNT="/bin/umount"
>> +
>>   for line in `grep -h -v ^# /etc/udev/mount.blacklist 
>> /etc/udev/mount.blacklist.d/*`
>>   do
>>       if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ];
>> @@ -17,6 +33,33 @@ do
>>       fi
>>   done
>>   +automount_systemd() {
>> +    name="`basename "$DEVNAME"`"
>> +
>> +        ! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
>> +        # Silent util-linux's version of mounting auto
>> +        MOUNT="$MOUNT -o silent"
>> +
>> +        # If filesystem type is vfat, change the ownership group to 
>> 'disk', and
>> +        # grant it with  w/r/x permissions.
>> +        case $ID_FS_TYPE in
>> +        vfat|fat)
>> +                MOUNT="$MOUNT -o umask=007,gid=`awk -F':' 
>> '/^disk/{print $3}' /etc/group`"
>> +                ;;
>> +        # TODO
>> +        *)
>> +                ;;
>> +        esac
>> +
>> +        if ! $MOUNT --no-block -t auto $DEVNAME "/run/media/$name"
>> +        then
>> +                rm_dir "/run/media/$name"
>> +        else
>> +                logger "mount.sh/automount" "systemd-mount of 
>> [/run/media/$name] successful"
>> +                touch "/tmp/.automount-$name"
>> +        fi
>> +}
>> +
>>   automount() {
>>       name="`basename "$DEVNAME"`"
>>   @@ -61,19 +104,21 @@ rm_dir() {
>>   # No ID_FS_TYPE for cdrom device, yet it should be mounted
>>   name="`basename "$DEVNAME"`"
>>   [ -e /sys/block/$name/device/media ] && media_type=`cat 
>> /sys/block/$name/device/media`
>> -
>>   if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" 
>> -o "$media_type" = "cdrom" ]; then
>>       if [ -x "$PMOUNT" ]; then
>>           $PMOUNT $DEVNAME 2> /dev/null
>>       elif [ -x $MOUNT ]; then
>>               $MOUNT $DEVNAME 2> /dev/null
>>       fi
>> -
>>       # If the device isn't mounted at this point, it isn't
>>       # configured in fstab (note the root filesystem can show up as
>>       # /dev/root in /proc/mounts, so check the device number too)
>>       if expr $MAJOR "*" 256 + $MINOR != `stat -c %d /`; then
>> -        grep -q "^$DEVNAME " /proc/mounts || automount
>> +        if [ "`basename $MOUNT`" = "systemd-mount" ];then
>> +            grep -q "^$DEVNAME " /proc/mounts || automount_systemd
>> +        else
>> +            grep -q "^$DEVNAME " /proc/mounts || automount
>> +        fi
>>       fi
>>   fi
>>
>



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 0/3] udev-extraconf/mount.sh: add support to systemd
  2018-08-02  2:50 [PATCH v4 0/3] udev-extraconf/mount.sh: add support to systemd Hongzhi.Song
                   ` (2 preceding siblings ...)
  2018-08-02  2:50 ` [PATCH 3/3] udev-extraconf/mount.sh: Skip the entry in /etc/fstab when using " Hongzhi.Song
@ 2018-08-22  3:33 ` Hongzhi, Song
  3 siblings, 0 replies; 9+ messages in thread
From: Hongzhi, Song @ 2018-08-22  3:33 UTC (permalink / raw)
  To: openembedded-core

ping

--Hongzhi


On 2018年08月02日 10:50, Hongzhi.Song wrote:
> v4:
>      Fix the recursively dependency for the systemd-mount
> v3:
>      perfect syntax
>
> Hongzhi.Song (3):
>    udev-extraconf/mount.sh: add support to systemd
>    udev-extraconf/mount.sh: Fix the recursively dependency for the
>      systemd-mount
>    udev-extraconf/mount.sh: Skip the entry in /etc/fstab when using the
>      systemd-mount
>
>   meta/recipes-core/udev/udev-extraconf/mount.sh | 84 ++++++++++++++++++++++----
>   1 file changed, 71 insertions(+), 13 deletions(-)
>



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 1/3] udev-extraconf/mount.sh: add support to systemd
  2018-08-02  2:50 ` [PATCH v4 1/3] " Hongzhi.Song
  2018-08-02 16:15   ` Martin Hundebøll
@ 2018-08-24  2:00   ` Randy MacLeod
  2018-09-10  8:33     ` Hongzhi, Song
  1 sibling, 1 reply; 9+ messages in thread
From: Randy MacLeod @ 2018-08-24  2:00 UTC (permalink / raw)
  To: Hongzhi.Song, openembedded-core


First, I have a few changes to make the log more clear.

On 08/01/2018 10:50 PM, Hongzhi.Song wrote:
> Udev-extraconf works correctly with sysvinit in the aspect of automounting
> block devices. But it has a serious problem in case of systemd. Block devices
s/. But it/ but it/


> automounted by udev is unaccessible to host space(out of udevd's private
s/is unaccessible/are not accessible/

s/host space(out of udevd's private namespace)/
  /host space(out of udevd's private namespace)/
> namespace). For example, we cannot format those block devices.
> 
> e.g.
>      root@qemux86:~# mkfs.ext4 /dev/sda1
>      mke2fs 1.43.8
>      /dev/sda1 contains a ext4 file system
>      last mounted on Tue Apr
>      Proceed anyway? (y,N) y
>      /dev/sda1 is apparently in use by the system; will not make a filesystem here!
> 
> Other distributions has no such problem, because they use a series of rules to
> manager block devices. Different types of block devices match different rules.
s/manager/manage/
> But udev-extraconf just use one rule, automount.rules, which results in this
s/But udev-extraconf just one rule/
   Note that udev-extraconf has just one file/

> problem.
> 
> The 'systemd-mount' command is recommended by the systemd community to solve such
> problems.
> 
> This patch makes use of 'systemd-mount' to solve the above problem.

Replace the two sentences above with:

As recommended by members of the systemd community, use the
'systemd-mount' command to resolve this problem since it's
intended purpose is to establish (and destroy) transient mount
or auto-mount points using the service manager job queue thereby
eliminating dependencies loops.


I wouldn't normally be so picky but changes to systemd should
be very clear since it's widely used.


Also, it would be good to explain, near the start of your log,
how you are able to reproduce these this defect.
If this is a regression identify where the problem was introduced.


systemd-mount was introduced in systemd-232:
    450442cf93
       add a new tool for creating transient mount and automount units

$ git tag --contains 450442cf93
v232
v233
v234
...

so it's puzzling that we're only getting around to such a change now.
Hopefully your use case will explain that.


> 
> [YOCTO #12644]
> 
> Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
> ---
>   meta/recipes-core/udev/udev-extraconf/mount.sh | 55 +++++++++++++++++++++++---
>   1 file changed, 50 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
> index d760328a09..3a72c455e0 100644
> --- a/meta/recipes-core/udev/udev-extraconf/mount.sh
> +++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
> @@ -4,10 +4,26 @@
>   #
>   # Attempt to mount any added block devices and umount any removed devices >
> +BASE_INIT="`readlink "/sbin/init"`"
> +INIT_SYSTEMD="/lib/systemd/systemd"
> +
> +if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then
> +        MOUNT="/usr/bin/systemd-mount"
> +        UMOUNT="/usr/bin/systemd-umount"
> +
> +        if [ -x $MOUNT ] && [ -x $UMOUNT ];
> +        then
> +                logger "Using systemd-mount to finish mount"
Should we be verbose on success?
Do other distros do this?
If not, you could leave the command as a comment for manual debugging,
if you think it's likely to be useful.

> +        else
> +                logger "Linux init is using systemd, so please install systemd-mount to finish mount"

Since systemd-[u]mount is part of the core systemd package,
    packages-split/systemd/usr/bin/systemd-mount
    packages-split/systemd/usr/bin/systemd-umount
this is only possible if we have filesystem corruption.
Best to say so:
    logger "/sbin/init is systemd but /usr/bin/systemd-mount not found."
    logger "Install systemd-mount to be able to mount all filesystems"


Since this will likely never happen, it's tempting to deal with
both systemd-mount and systemd-umount as a group but if by some
strange user error, systemd-umount was removed but systemd-mount
was still present, then we could enable the user to mount the image.
I'm not sure if that's wise since there could be corruption caused
by later failing to umount. It's probably best to require both but
maybe someone has a different point of view.


> +        fi
> +else
> +        MOUNT="/bin/mount"
> +        UMOUNT="/bin/umount"
> +fi
>   
> -MOUNT="/bin/mount"
>   PMOUNT="/usr/bin/pmount"
> -UMOUNT="/bin/umount"
> +
>   for line in `grep -h -v ^# /etc/udev/mount.blacklist /etc/udev/mount.blacklist.d/*`
>   do
>   	if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ];
> @@ -17,6 +33,33 @@ do
>   	fi
>   done
>   
> +automount_systemd() {
> +	name="`basename "$DEVNAME"`"
> +
> +        ! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
> +        # Silent util-linux's version of mounting auto
> +        MOUNT="$MOUNT -o silent"
> +
> +        # If filesystem type is vfat, change the ownership group to 'disk', and
> +        # grant it with  w/r/x permissions.
> +        case $ID_FS_TYPE in
> +        vfat|fat)
> +                MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
> +                ;;
> +        # TODO

TODO?
How about
            # All other filesystem types fall though
If you are going to leave the TODO in,
outline what remains to be done in the log.

> +        *)
> +                ;;
> +        esac
> +
> +        if ! $MOUNT --no-block -t auto $DEVNAME "/run/media/$name"
> +        then
> +                rm_dir "/run/media/$name"
> +        else
> +                logger "mount.sh/automount" "systemd-mount of [/run/media/$name] successful"
Do you need a space:
                    logger "mount.sh/automount "
to fix the format when the two strings are printed?

Again, are other distros so verbose?
I guess this log could be useful since it is specific:
     [/run/media/$name]
I don't really like the square brackets because I'm darn picky
but if that's in keeping with other systemd/udev-extraconf code,
you can keep it.

There's a long history of unix being quite terse when
there are no errors.

> +                touch "/tmp/.automount-$name"
> +        fi
> +}
> +
>   automount() {	
>   	name="`basename "$DEVNAME"`"
>   
> @@ -61,19 +104,21 @@ rm_dir() {
>   # No ID_FS_TYPE for cdrom device, yet it should be mounted
>   name="`basename "$DEVNAME"`"
>   [ -e /sys/block/$name/device/media ] && media_type=`cat /sys/block/$name/device/media`
> -
>   if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" -o "$media_type" = "cdrom" ]; then
>   	if [ -x "$PMOUNT" ]; then
>   		$PMOUNT $DEVNAME 2> /dev/null
>   	elif [ -x $MOUNT ]; then
>       		$MOUNT $DEVNAME 2> /dev/null
>   	fi
> -	
>   	# If the device isn't mounted at this point, it isn't
>   	# configured in fstab (note the root filesystem can show up as
>   	# /dev/root in /proc/mounts, so check the device number too)
>   	if expr $MAJOR "*" 256 + $MINOR != `stat -c %d /`; then
> -		grep -q "^$DEVNAME " /proc/mounts || automount
> +		if [ "`basename $MOUNT`" = "systemd-mount" ];then
> +			grep -q "^$DEVNAME " /proc/mounts || automount_systemd
> +		else
> +			grep -q "^$DEVNAME " /proc/mounts || automount
> +		fi
>   	fi
>   fi
>   
> 


I hope this review helps.
I suspect it was sitting on the list unprocessed in part because
the motivation for the change was not clear.

I don't have time to look at the other two commits tonight.
I can to that tomorrow if you like or you can work with a co-worker
to revise those changes along the lines of the comments I've
made here and send a v5.

-- 
# Randy MacLeod
# Wind River Linux


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 1/3] udev-extraconf/mount.sh: add support to systemd
  2018-08-24  2:00   ` Randy MacLeod
@ 2018-09-10  8:33     ` Hongzhi, Song
  0 siblings, 0 replies; 9+ messages in thread
From: Hongzhi, Song @ 2018-09-10  8:33 UTC (permalink / raw)
  To: Randy MacLeod, openembedded-core



On 2018年08月24日 10:00, Randy MacLeod wrote:
>
> First, I have a few changes to make the log more clear.
>
> On 08/01/2018 10:50 PM, Hongzhi.Song wrote:
>> Udev-extraconf works correctly with sysvinit in the aspect of 
>> automounting
>> block devices. But it has a serious problem in case of systemd. Block 
>> devices
> s/. But it/ but it/
>
>
>> automounted by udev is unaccessible to host space(out of udevd's private
> s/is unaccessible/are not accessible/
>
> s/host space(out of udevd's private namespace)/
>  /host space(out of udevd's private namespace)/
>> namespace). For example, we cannot format those block devices.
>>
>> e.g.
>>      root@qemux86:~# mkfs.ext4 /dev/sda1
>>      mke2fs 1.43.8
>>      /dev/sda1 contains a ext4 file system
>>      last mounted on Tue Apr
>>      Proceed anyway? (y,N) y
>>      /dev/sda1 is apparently in use by the system; will not make a 
>> filesystem here!
>>
>> Other distributions has no such problem, because they use a series of 
>> rules to
>> manager block devices. Different types of block devices match 
>> different rules.
> s/manager/manage/
>> But udev-extraconf just use one rule, automount.rules, which results 
>> in this
> s/But udev-extraconf just one rule/
>   Note that udev-extraconf has just one file/
>
>> problem.
>>
>> The 'systemd-mount' command is recommended by the systemd community 
>> to solve such
>> problems.
>>
>> This patch makes use of 'systemd-mount' to solve the above problem.
>
> Replace the two sentences above with:
>
> As recommended by members of the systemd community, use the
> 'systemd-mount' command to resolve this problem since it's
> intended purpose is to establish (and destroy) transient mount
> or auto-mount points using the service manager job queue thereby
> eliminating dependencies loops.
>
>
> I wouldn't normally be so picky but changes to systemd should
> be very clear since it's widely used.
>
>
> Also, it would be good to explain, near the start of your log,
> how you are able to reproduce these this defect.


Hi Randy,

I edited the detail steps of reproduce on [Yocto #12644].
I have attached the link on commit log.

I modified the code with your precious recommend.
And I will send review request within interior before commit patch to 
upstream.

Thanks,
--Hongzhi


> If this is a regression identify where the problem was introduced.
>
>
> systemd-mount was introduced in systemd-232:
>    450442cf93
>       add a new tool for creating transient mount and automount units
>
> $ git tag --contains 450442cf93
> v232
> v233
> v234
> ...
>
> so it's puzzling that we're only getting around to such a change now.
> Hopefully your use case will explain that.
>
>
>>
>> [YOCTO #12644]
>>
>> Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
>> ---
>>   meta/recipes-core/udev/udev-extraconf/mount.sh | 55 
>> +++++++++++++++++++++++---
>>   1 file changed, 50 insertions(+), 5 deletions(-)
>>
>> diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh 
>> b/meta/recipes-core/udev/udev-extraconf/mount.sh
>> index d760328a09..3a72c455e0 100644
>> --- a/meta/recipes-core/udev/udev-extraconf/mount.sh
>> +++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
>> @@ -4,10 +4,26 @@
>>   #
>>   # Attempt to mount any added block devices and umount any removed 
>> devices >
>> +BASE_INIT="`readlink "/sbin/init"`"
>> +INIT_SYSTEMD="/lib/systemd/systemd"
>> +
>> +if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then
>> +        MOUNT="/usr/bin/systemd-mount"
>> +        UMOUNT="/usr/bin/systemd-umount"
>> +
>> +        if [ -x $MOUNT ] && [ -x $UMOUNT ];
>> +        then
>> +                logger "Using systemd-mount to finish mount"
> Should we be verbose on success?
> Do other distros do this?
> If not, you could leave the command as a comment for manual debugging,
> if you think it's likely to be useful.
>
>> +        else
>> +                logger "Linux init is using systemd, so please 
>> install systemd-mount to finish mount"
>
> Since systemd-[u]mount is part of the core systemd package,
>    packages-split/systemd/usr/bin/systemd-mount
>    packages-split/systemd/usr/bin/systemd-umount
> this is only possible if we have filesystem corruption.
> Best to say so:
>    logger "/sbin/init is systemd but /usr/bin/systemd-mount not found."
>    logger "Install systemd-mount to be able to mount all filesystems"
>
>
> Since this will likely never happen, it's tempting to deal with
> both systemd-mount and systemd-umount as a group but if by some
> strange user error, systemd-umount was removed but systemd-mount
> was still present, then we could enable the user to mount the image.
> I'm not sure if that's wise since there could be corruption caused
> by later failing to umount. It's probably best to require both but
> maybe someone has a different point of view.
>
>
>> +        fi
>> +else
>> +        MOUNT="/bin/mount"
>> +        UMOUNT="/bin/umount"
>> +fi
>>   -MOUNT="/bin/mount"
>>   PMOUNT="/usr/bin/pmount"
>> -UMOUNT="/bin/umount"
>> +
>>   for line in `grep -h -v ^# /etc/udev/mount.blacklist 
>> /etc/udev/mount.blacklist.d/*`
>>   do
>>       if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ];
>> @@ -17,6 +33,33 @@ do
>>       fi
>>   done
>>   +automount_systemd() {
>> +    name="`basename "$DEVNAME"`"
>> +
>> +        ! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
>> +        # Silent util-linux's version of mounting auto
>> +        MOUNT="$MOUNT -o silent"
>> +
>> +        # If filesystem type is vfat, change the ownership group to 
>> 'disk', and
>> +        # grant it with  w/r/x permissions.
>> +        case $ID_FS_TYPE in
>> +        vfat|fat)
>> +                MOUNT="$MOUNT -o umask=007,gid=`awk -F':' 
>> '/^disk/{print $3}' /etc/group`"
>> +                ;;
>> +        # TODO
>
> TODO?
> How about
>            # All other filesystem types fall though
> If you are going to leave the TODO in,
> outline what remains to be done in the log.
>
>> +        *)
>> +                ;;
>> +        esac
>> +
>> +        if ! $MOUNT --no-block -t auto $DEVNAME "/run/media/$name"
>> +        then
>> +                rm_dir "/run/media/$name"
>> +        else
>> +                logger "mount.sh/automount" "systemd-mount of 
>> [/run/media/$name] successful"
> Do you need a space:
>                    logger "mount.sh/automount "
> to fix the format when the two strings are printed?
>
> Again, are other distros so verbose?
> I guess this log could be useful since it is specific:
>     [/run/media/$name]
> I don't really like the square brackets because I'm darn picky
> but if that's in keeping with other systemd/udev-extraconf code,
> you can keep it.
>
> There's a long history of unix being quite terse when
> there are no errors.
>
>> +                touch "/tmp/.automount-$name"
>> +        fi
>> +}
>> +
>>   automount() {
>>       name="`basename "$DEVNAME"`"
>>   @@ -61,19 +104,21 @@ rm_dir() {
>>   # No ID_FS_TYPE for cdrom device, yet it should be mounted
>>   name="`basename "$DEVNAME"`"
>>   [ -e /sys/block/$name/device/media ] && media_type=`cat 
>> /sys/block/$name/device/media`
>> -
>>   if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" 
>> -o "$media_type" = "cdrom" ]; then
>>       if [ -x "$PMOUNT" ]; then
>>           $PMOUNT $DEVNAME 2> /dev/null
>>       elif [ -x $MOUNT ]; then
>>               $MOUNT $DEVNAME 2> /dev/null
>>       fi
>> -
>>       # If the device isn't mounted at this point, it isn't
>>       # configured in fstab (note the root filesystem can show up as
>>       # /dev/root in /proc/mounts, so check the device number too)
>>       if expr $MAJOR "*" 256 + $MINOR != `stat -c %d /`; then
>> -        grep -q "^$DEVNAME " /proc/mounts || automount
>> +        if [ "`basename $MOUNT`" = "systemd-mount" ];then
>> +            grep -q "^$DEVNAME " /proc/mounts || automount_systemd
>> +        else
>> +            grep -q "^$DEVNAME " /proc/mounts || automount
>> +        fi
>>       fi
>>   fi
>>
>
>
> I hope this review helps.
> I suspect it was sitting on the list unprocessed in part because
> the motivation for the change was not clear.
>
> I don't have time to look at the other two commits tonight.
> I can to that tomorrow if you like or you can work with a co-worker
> to revise those changes along the lines of the comments I've
> made here and send a v5.
>



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-09-10  8:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-02  2:50 [PATCH v4 0/3] udev-extraconf/mount.sh: add support to systemd Hongzhi.Song
2018-08-02  2:50 ` [PATCH v4 1/3] " Hongzhi.Song
2018-08-02 16:15   ` Martin Hundebøll
2018-08-03  6:19     ` Hongzhi, Song
2018-08-24  2:00   ` Randy MacLeod
2018-09-10  8:33     ` Hongzhi, Song
2018-08-02  2:50 ` [PATCH 2/3] udev-extraconf/mount.sh: Fix the recursively dependency for the systemd-mount Hongzhi.Song
2018-08-02  2:50 ` [PATCH 3/3] udev-extraconf/mount.sh: Skip the entry in /etc/fstab when using " Hongzhi.Song
2018-08-22  3:33 ` [PATCH v4 0/3] udev-extraconf/mount.sh: add support to systemd Hongzhi, Song

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.