slingbox: Update slingbox umount to support -f and add the Linksys custom -L (-lazy...
authorRod Whitby <rod@whitby.id.au>
Wed, 4 Jan 2006 11:57:49 +0000 (11:57 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Wed, 4 Jan 2006 11:57:49 +0000 (11:57 +0000)
packages/busybox/slingbox-1.00/defconfig
packages/busybox/slingbox-1.00/lazy_umount.patch [new file with mode: 0644]
packages/busybox/slingbox_1.00.bb

index 463b3a8..d35d7d5 100644 (file)
@@ -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 (file)
index 0000000..0608017
--- /dev/null
@@ -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;
index 7429f8a..a275cbb 100644 (file)
@@ -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}"