Hello community,

here is the log from the commit of package systemd for openSUSE:Factory checked 
in at 2013-12-15 10:09:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
 and      /work/SRC/openSUSE:Factory/.systemd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "systemd"

Changes:
--------
systemd-rpm-macros.changes: same change
--- /work/SRC/openSUSE:Factory/systemd/systemd.changes  2013-11-30 
17:39:55.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd.changes     2013-12-15 
10:09:50.000000000 +0100
@@ -1,0 +2,10 @@
+Fri Dec  6 13:30:19 UTC 2013 - [email protected]
+
+- Add patch 
+  1014-journald-with-journaling-FS.patch
+  which now uses the file system ioctls for switching off atime,
+  compression, and copy-on-write of the journal directory of the
+  the systemd-journald (bnc#838475)
+- Let us build require the package config for libpcre (bnc#853293)
+
+-------------------------------------------------------------------

New:
----
  1014-journald-with-journaling-FS.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
systemd-rpm-macros.spec: same change
++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.iP8bW8/_old  2013-12-15 10:09:52.000000000 +0100
+++ /var/tmp/diff_new_pack.iP8bW8/_new  2013-12-15 10:09:52.000000000 +0100
@@ -68,6 +68,7 @@
 BuildRequires:  pkgconfig(libmicrohttpd)
 %endif
 BuildRequires:  pkgconfig(libpci) >= 3
+BuildRequires:  pkgconfig(libpcre)
 %if ! 0%{?bootstrap}
 BuildRequires:  pkgconfig(libqrencode)
 %endif
@@ -260,9 +261,12 @@
 Patch1010:      1010-do-not-install-sulogin-unit-with-poweroff.patch
 # PATCH-FIX-OPENSUSE 1011-check-4-valid-kmsg-device.patch -- Avoid busy 
systemd-journald (bnc#851393)
 Patch1011:      1011-check-4-valid-kmsg-device.patch
-# PATCH-FIX-PSTREAM 
1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch
+# PATCH-FIX-UPSTREAM 
1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch
 Patch1012:      
1012-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch
+# PATCH-FIX-UPSTREAM 
U_logind_revert_lazy_session_activation_on_non_vt_seats.patch
 Patch1013:      U_logind_revert_lazy_session_activation_on_non_vt_seats.patch
+# PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch
+Patch1014:      1014-journald-with-journaling-FS.patch
 
 %description
 Systemd is a system and service manager, compatible with SysV and LSB
@@ -542,6 +546,7 @@
 %patch1011 -p1
 %patch1012 -p1
 %patch1013 -p1
+%patch1014 -p1
 
 # ensure generate files are removed
 rm -f units/emergency.service

++++++ 1014-journald-with-journaling-FS.patch ++++++
--- systemd-208/src/journal/journald-server.c
+++ systemd-208/src/journal/journald-server.c   2013-12-06 12:37:27.482735840 
+0000
@@ -21,6 +21,7 @@
 
 #include <sys/signalfd.h>
 #include <sys/ioctl.h>
+#include <linux/fs.h>
 #include <linux/sockios.h>
 #include <sys/statvfs.h>
 #include <sys/mman.h>
@@ -878,7 +879,7 @@ finish:
 
 
 static int system_journal_open(Server *s) {
-        int r;
+        int r, fd;
         char *fn;
         sd_id128_t machine;
         char ids[33];
@@ -905,7 +906,28 @@ static int system_journal_open(Server *s
                         (void) mkdir("/var/log/journal/", 0755);
 
                 fn = strappenda("/var/log/journal/", ids);
-                (void) mkdir(fn, 0755);
+
+                /*
+                 * On journaling and/or compressing file systems avoid 
doubling the
+                 * efforts for the system, that is set NOCOW and NOCOMP inode 
flags.
+                 * Check for every single flag as otherwise some of the file 
systems
+                 * may return EOPNOTSUPP on one unkown flag (like BtrFS does).
+                 */
+                if (mkdir(fn, 0755) == 0 && (fd = open(fn, O_DIRECTORY)) >= 0) 
{
+                        long flags;
+                        if (ioctl(fd, FS_IOC_GETFLAGS, &flags) == 0) {
+                                if (ioctl(fd, FS_IOC_SETFLAGS, 
flags|FS_NOATIME_FL) == 0)
+                                        flags |= FS_NOATIME_FL;
+                                if (ioctl(fd, FS_IOC_SETFLAGS, 
flags|FS_NOCOW_FL) == 0)
+                                        flags |= FS_NOCOW_FL;
+                                if (s->compress) {
+                                        flags &= ~FS_COMPR_FL;
+                                        flags |= FS_NOCOMP_FL;
+                                }
+                                ioctl(fd, FS_IOC_SETFLAGS, flags);
+                        }
+                        close(fd);
+                }
 
                 fn = strappenda(fn, "/system.journal");
                 r = journal_file_open_reliably(fn, O_RDWR|O_CREAT, 0640, 
s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &s->system_journal);
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to