busybox: add strictatime support to mount
authorRoss Burton <ross.burton@intel.com>
Fri, 22 Mar 2013 15:50:43 +0000 (15:50 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 26 Mar 2013 22:43:02 +0000 (22:43 +0000)
systemd uses strictatime when mounting tmpfs.  Luckily this is already supported
upstream, so backport the patch from git.

(From OE-Core rev: 7379a5a2035ef670329551783c372d9310ddd983)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/busybox/busybox-1.20.2/strict-atime.patch [new file with mode: 0644]
meta/recipes-core/busybox/busybox_1.20.2.bb

diff --git a/meta/recipes-core/busybox/busybox-1.20.2/strict-atime.patch b/meta/recipes-core/busybox/busybox-1.20.2/strict-atime.patch
new file mode 100644 (file)
index 0000000..8696427
--- /dev/null
@@ -0,0 +1,49 @@
+Add support for the "strictatime" mount option.
+
+Upstream-Status: Backport [9ad8979ff15e1b894ee1f4bb6a2535a1a2c20d65]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+Index: busybox-1.20.2/util-linux/mount.c
+===================================================================
+--- busybox-1.20.2.orig/util-linux/mount.c     2012-07-02 15:08:25.000000000 +0100
++++ busybox-1.20.2/util-linux/mount.c  2013-03-22 15:37:31.340277463 +0000
+@@ -113,6 +113,12 @@
+ #ifndef MS_RELATIME
+ # define MS_RELATIME    (1 << 21)
+ #endif
++#ifndef MS_STRICTATIME
++# define MS_STRICTATIME (1 << 24)
++#endif
++
++/* Any ~MS_FOO value has this bit set: */
++#define BB_MS_INVERTED_VALUE (1u << 31)
+ #include "libbb.h"
+ #if ENABLE_FEATURE_MOUNT_LABEL
+@@ -239,6 +245,7 @@
+               /* "nomand"      */ ~MS_MANDLOCK,
+               /* "relatime"    */ MS_RELATIME,
+               /* "norelatime"  */ ~MS_RELATIME,
++              /* "strictatime" */ MS_STRICTATIME,
+               /* "loud"        */ ~MS_SILENT,
+               /* "rbind"       */ MS_BIND|MS_RECURSIVE,
+@@ -295,6 +302,7 @@
+               "nomand\0"
+               "relatime\0"
+               "norelatime\0"
++              "strictatime\0"
+               "loud\0"
+               "rbind\0"
+@@ -466,8 +474,8 @@
+               // Find this option in mount_options
+               for (i = 0; i < ARRAY_SIZE(mount_options); i++) {
+                       if (strcasecmp(option_str, options) == 0) {
+-                              long fl = mount_options[i];
+-                              if (fl < 0)
++                              unsigned long fl = mount_options[i];
++                              if (fl & BB_MS_INVERTED_VALUE)
+                                       flags &= fl;
+                               else
+                                       flags |= fl;
index a02cd38..c09a492 100644 (file)
@@ -30,7 +30,8 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://stat-usr-bin.patch \
            file://busybox-syslog.service.in \
            file://busybox-klogd.service.in \
-           file://testsuite-du-du-k-works-fix-false-positive.patch"
+           file://testsuite-du-du-k-works-fix-false-positive.patch \
+           file://strict-atime.patch"
 
 SRC_URI[tarball.md5sum] = "e025414bc6cd79579cc7a32a45d3ae1c"
 SRC_URI[tarball.sha256sum] = "eb13ff01dae5618ead2ef6f92ba879e9e0390f9583bd545d8789d27cf39b6882"