From 6c28c501d6db85c88873f4a722909a3e95e3f2e8 Mon Sep 17 00:00:00 2001 From: Rod Whitby Date: Wed, 4 Jan 2006 11:57:49 +0000 Subject: slingbox: Update slingbox umount to support -f and add the Linksys custom -L (-lazy umount) option. --- packages/busybox/slingbox-1.00/defconfig | 4 +-- packages/busybox/slingbox-1.00/lazy_umount.patch | 42 ++++++++++++++++++++++++ packages/busybox/slingbox_1.00.bb | 3 +- 3 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 packages/busybox/slingbox-1.00/lazy_umount.patch (limited to 'packages') 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}" -- cgit v1.2.3