aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRod Whitby <rod@whitby.id.au>2006-01-04 11:57:49 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-01-04 11:57:49 +0000
commit6c28c501d6db85c88873f4a722909a3e95e3f2e8 (patch)
treed8515be95cb80f913ddd09de58fdf55f94b8ff22
parent7a8916660caf8af3724f830d6ac6b85a68b10f43 (diff)
downloadopenembedded-6c28c501d6db85c88873f4a722909a3e95e3f2e8.tar.gz
slingbox: Update slingbox umount to support -f and add the Linksys custom -L (-lazy umount) option.
-rw-r--r--packages/busybox/slingbox-1.00/defconfig4
-rw-r--r--packages/busybox/slingbox-1.00/lazy_umount.patch42
-rw-r--r--packages/busybox/slingbox_1.00.bb3
3 files changed, 46 insertions, 3 deletions
diff --git a/packages/busybox/slingbox-1.00/defconfig b/packages/busybox/slingbox-1.00/defconfig
index 463b3a8d19..d35d7d5956 100644
--- a/packages/busybox/slingbox-1.00/defconfig
+++ b/packages/busybox/slingbox-1.00/defconfig
@@ -255,7 +255,7 @@ CONFIG_NC=y
# CONFIG_TFTP is not set
# CONFIG_TRACEROUTE is not set
# CONFIG_VCONFIG is not set
-# CONFIG_WGET is not set
+CONFIG_WGET=y
# CONFIG_FEATURE_WGET_STATUSBAR is not set
# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
# CONFIG_FEATURE_WGET_IP6_LITERAL is not set
@@ -320,7 +320,7 @@ CONFIG_PIVOT_ROOT=y
CONFIG_MOUNT=y
CONFIG_NFSMOUNT=y
CONFIG_UMOUNT=y
-# CONFIG_FEATURE_MOUNT_FORCE is not set
+CONFIG_FEATURE_MOUNT_FORCE=y
#
# Common options for mount/umount
diff --git a/packages/busybox/slingbox-1.00/lazy_umount.patch b/packages/busybox/slingbox-1.00/lazy_umount.patch
new file mode 100644
index 0000000000..0608017e70
--- /dev/null
+++ b/packages/busybox/slingbox-1.00/lazy_umount.patch
@@ -0,0 +1,42 @@
+--- busybox-1.00-orig/util-linux/umount.c 2005-12-16 23:13:33.000000000 -0600
++++ busybox-1.00/util-linux/umount.c 2005-12-16 23:16:49.000000000 -0600
+@@ -35,6 +35,7 @@
+ #endif
+
+ static const int MNT_FORCE = 1;
++static const int MNT_DETACH = 2; /* Linksys -L mod */
+ static const int MS_MGC_VAL = 0xc0ed0000; /* Magic number indicatng "new" flags */
+ static const int MS_REMOUNT = 32; /* Alter flags of a mounted FS. */
+ static const int MS_RDONLY = 1; /* Mount read-only. */
+@@ -54,7 +55,7 @@
+ static struct _mtab_entry_t *mtab_cache = NULL;
+
+
+-
++static int doLazy = FALSE; /* Linksys -L mod */
+ #if defined CONFIG_FEATURE_MOUNT_FORCE
+ static int doForce = FALSE;
+ #endif
+@@ -181,6 +182,12 @@
+ /* this was a loop device, delete it */
+ del_loop(blockDevice);
+ #endif
++ if (status != 0 && doLazy) { /* Linksys -L mod */
++ status = umount2(blockDevice, MNT_DETACH);
++ if (status != 0) {
++ bb_error_msg_and_die("lazy umount of %s failed!", blockDevice);
++ }
++ }
+ #if defined CONFIG_FEATURE_MOUNT_FORCE
+ if (status != 0 && doForce) {
+ status = umount2(blockDevice, MNT_FORCE);
+@@ -259,6 +266,9 @@
+ freeLoop = FALSE;
+ break;
+ #endif
++ case 'L': /* Linksys -L mod */
++ doLazy = TRUE;
++ break;
+ #ifdef CONFIG_FEATURE_MTAB_SUPPORT
+ case 'n':
+ useMtab = FALSE;
diff --git a/packages/busybox/slingbox_1.00.bb b/packages/busybox/slingbox_1.00.bb
index 7429f8a101..a275cbbc73 100644
--- a/packages/busybox/slingbox_1.00.bb
+++ b/packages/busybox/slingbox_1.00.bb
@@ -4,10 +4,11 @@ HOMEPAGE = "http://www.busybox.net"
LICENSE = "GPL"
SECTION = "base"
PRIORITY = "required"
-PR = "r6"
+PR = "r8"
SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
file://defconfig \
+ file://lazy_umount.patch;patch=1 \
file://slingbox.patch;patch=1"
S = "${WORKDIR}/busybox-${PV}"