From: Denys Dmytriyenko <denys@ti.com>
To: <meta-arago@arago-project.org>
Subject: Re: [PATCH 1/2] udev-extraconf: overlay mount.sh as is from oe-core/dylan
Date: Thu, 30 Jan 2014 21:01:35 -0500 [thread overview]
Message-ID: <20140131020135.GI6814@edge> (raw)
In-Reply-To: <1391128108-3856-1-git-send-email-denis@denix.org>
There's a bug here, I'm test v2 now... :)
On Thu, Jan 30, 2014 at 07:28:27PM -0500, Denys Dmytriyenko wrote:
> From: Denys Dmytriyenko <denys@ti.com>
>
> This will be modified to fix SD mounting issues.
>
> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
> ---
> .../recipes-core/udev/udev-extraconf/mount.sh | 76 ++++++++++++++++++++++
> .../recipes-core/udev/udev-extraconf_1.0.bb | 4 ++
> 2 files changed, 80 insertions(+)
> create mode 100644 meta-arago-distro/recipes-core/udev/udev-extraconf/mount.sh
> create mode 100644 meta-arago-distro/recipes-core/udev/udev-extraconf_1.0.bb
>
> diff --git a/meta-arago-distro/recipes-core/udev/udev-extraconf/mount.sh b/meta-arago-distro/recipes-core/udev/udev-extraconf/mount.sh
> new file mode 100644
> index 0000000..d1419ed
> --- /dev/null
> +++ b/meta-arago-distro/recipes-core/udev/udev-extraconf/mount.sh
> @@ -0,0 +1,76 @@
> +#!/bin/sh
> +#
> +# Called from udev
> +#
> +# Attempt to mount any added block devices and umount any removed devices
> +
> +
> +MOUNT="/bin/mount"
> +PMOUNT="/usr/bin/pmount"
> +UMOUNT="/bin/umount"
> +for line in `grep -v ^# /etc/udev/mount.blacklist`
> +do
> + if [ ` expr match "$DEVNAME" "$line" ` -gt 0 ];
> + then
> + logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring"
> + exit 0
> + fi
> +done
> +
> +automount() {
> + name="`basename "$DEVNAME"`"
> +
> + ! test -d "/media/$name" && mkdir -p "/media/$name"
> + # Silent util-linux's version of mounting auto
> + if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ;
> + then
> + MOUNT="$MOUNT -o silent"
> + fi
> +
> + if ! $MOUNT -t auto $DEVNAME "/media/$name"
> + then
> + #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/media/$name\" failed!"
> + rm_dir "/media/$name"
> + else
> + logger "mount.sh/automount" "Auto-mount of [/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
> +}
> +
> +if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" ]; 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
> + fi
> +fi
> +
> +
> +
> +if [ "$ACTION" = "remove" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then
> + for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " `
> + do
> + $UMOUNT $mnt
> + done
> +
> + # Remove empty directories from auto-mounter
> + name="`basename "$DEVNAME"`"
> + test -e "/tmp/.automount-$name" && rm_dir "/media/$name"
> +fi
> diff --git a/meta-arago-distro/recipes-core/udev/udev-extraconf_1.0.bb b/meta-arago-distro/recipes-core/udev/udev-extraconf_1.0.bb
> new file mode 100644
> index 0000000..c0ab069
> --- /dev/null
> +++ b/meta-arago-distro/recipes-core/udev/udev-extraconf_1.0.bb
> @@ -0,0 +1,4 @@
> +# look for files in this layer first
> +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> +
> +PR_append = "-arago0"
> --
> 1.8.3.2
>
prev parent reply other threads:[~2014-01-31 2:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-31 0:28 [PATCH 1/2] udev-extraconf: overlay mount.sh as is from oe-core/dylan Denys Dmytriyenko
2014-01-31 0:28 ` [PATCH 2/2] udev-extraconf: update mount.sh to use /run/media instead of /media Denys Dmytriyenko
2014-01-31 2:01 ` Denys Dmytriyenko [this message]
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=20140131020135.GI6814@edge \
--to=denys@ti.com \
--cc=meta-arago@arago-project.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.