Package: systemd
Version: 215-17+deb8u4
Severity: wishlist
Tags: jessie patch fixed-upstream

Dear Maintainer,

When mounting several filesystems, systemd runs all fsck in parallel. This is very unoptimal when filesystems shares same (rotational) physical disk.
systemd-fsck had provision to run fsck with -l option, but it was
temporarily disabled due to locking conflict between fsck and udev.
This conflict was fixed in util-linux-2.25, and "fsck -l" option re-enabled in systemd-217. As jessie already has fixed version of util-linux (2.25.2), please consider cherry-pick commit v216-652-g48d3e8d (and maybe bump Depends on util-linux to 2.25 to reflect this) for next jessie point release.
(Debdiff attached).

-- Package-specific info:

-- System Information:
Debian Release: 8.3
  APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable'), (100, 'proposed-updates')
Architecture: i386 (x86_64)
Foreign Architectures: amd64

Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages systemd depends on:
ii  acl             2.2.52-2
ii  adduser         3.113+nmu3
ii  initscripts     2.88dsf-59
ii  libacl1         2.2.52-2
ii  libaudit1       1:2.4-1+b1
ii  libblkid1       2.25.2-6
ii  libc6           2.19-18+deb8u4
ii  libcap2         1:2.24-8
ii  libcap2-bin     1:2.24-8
ii  libcryptsetup4  2:1.6.6-5
ii  libgcrypt20     1.6.3-2+deb8u1
ii  libkmod2        18-3
ii  liblzma5        5.1.1alpha+20120614-2+b3
ii  libpam0g        1.1.8-3.1+deb8u1
ii  libselinux1     2.3-2
ii  libsystemd0     215-17+deb8u4
ii  mount           2.25.2-6
ii  sysv-rc         2.88dsf-59
ii  udev            215-17+deb8u4
ii  util-linux      2.25.2-6

Versions of packages systemd recommends:
ii  dbus            1.8.20-0+deb8u1
ii  libpam-systemd  215-17+deb8u4

Versions of packages systemd suggests:
ii  systemd-ui  3-2

-- no debconf information

diff -Nru systemd-215/debian/control systemd-215/debian/control
--- systemd-215/debian/control	2015-11-16 20:08:49.000000000 +0300
+++ systemd-215/debian/control	2016-03-26 01:01:40.000000000 +0300
@@ -51,7 +51,7 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends},
          libsystemd0 (= ${binary:Version}),
-         util-linux (>= 2.19.1-2),
+         util-linux (>= 2.25),
          mount (>= 2.21),
          initscripts (>= 2.88dsf-53.2),
          sysv-rc,
diff -Nru systemd-215/debian/patches/fsck-re-enable-fsck-l.patch systemd-215/debian/patches/fsck-re-enable-fsck-l.patch
--- systemd-215/debian/patches/fsck-re-enable-fsck-l.patch	1970-01-01 03:00:00.000000000 +0300
+++ systemd-215/debian/patches/fsck-re-enable-fsck-l.patch	2016-03-26 01:02:22.000000000 +0300
@@ -0,0 +1,57 @@
+From 48d3e8d07f2978f001cc85b2dddb7f8ec9d07006 Mon Sep 17 00:00:00 2001
+From: Karel Zak <k...@redhat.com>
+Date: Wed, 22 Oct 2014 10:28:42 +0200
+Subject: [PATCH] fsck: re-enable fsck -l
+
+The -l (lock) has been temporary disabled due to conflict with
+udev (https://bugs.freedesktop.org/show_bug.cgi?id=79576)
+
+The problem is fixed since util-linux v2.25 (Jul 2014).
+---
+ README          |  3 ++-
+ src/fsck/fsck.c | 13 ++++---------
+ 2 files changed, 6 insertions(+), 10 deletions(-)
+
+diff --git a/README b/README
+index e0edd41..8f7a96e 100644
+--- a/README
++++ b/README
+@@ -129,8 +129,9 @@ REQUIREMENTS:
+         During runtime, you need the following additional
+         dependencies:
+ 
+-        util-linux >= v2.19 (requires fsck -l, agetty -s),
++        util-linux >= v2.19 required for agetty -s
+                       v2.21 required for tests in test/
++                      v2.25 required for fsck -l
+         dbus >= 1.4.0 (strictly speaking optional, but recommended)
+         sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended,
+                  required for tests in test/)
+diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
+index dfe97bc..70a5918 100644
+--- a/src/fsck/fsck.c
++++ b/src/fsck/fsck.c
+@@ -320,16 +320,11 @@ int main(int argc, char *argv[]) {
+         cmdline[i++] = "-T";
+ 
+         /*
+-         * Disable locking which conflict with udev's event
+-         * ownershipi, until util-linux moves the flock
+-         * synchronization file which prevents multiple fsck running
+-         * on the same rotationg media, from the disk device
+-         * node to a privately owned regular file.
+-         *
+-         * https://bugs.freedesktop.org/show_bug.cgi?id=79576#c5
+-         *
+-         * cmdline[i++] = "-l";
++         * Since util-linux v2.25 fsck uses /run/fsck/<diskname>.lock files.
++         * The previous versions use flock for the device and conflict with
++         * udevd, see https://bugs.freedesktop.org/show_bug.cgi?id=79576#c5
+          */
++        cmdline[i++] = "-l";
+ 
+         if (!root_directory)
+                 cmdline[i++] = "-M";
+-- 
+2.1.4
+
diff -Nru systemd-215/debian/patches/series systemd-215/debian/patches/series
--- systemd-215/debian/patches/series	2015-11-16 20:08:49.000000000 +0300
+++ systemd-215/debian/patches/series	2016-03-26 00:59:11.000000000 +0300
@@ -158,6 +158,7 @@
 sd-dhcp-client-make-request-broadcasts-configurable.patch
 make-sure-all-swap-units-are-ordered-before-the-swap-targ.patch
 nspawn-fix-network-interface.patch
+fsck-re-enable-fsck-l.patch
 
 ## Debian specific patches:
 Add-back-support-for-Debian-specific-config-files.patch

_______________________________________________
Pkg-systemd-maintainers mailing list
Pkg-systemd-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-systemd-maintainers

Reply via email to