[oe] [for-dora] systemd: journald fix ignored disk space restrictions

Martin Jansa martin.jansa at gmail.com
Sat Feb 1 07:42:59 UTC 2014


On Fri, Jan 31, 2014 at 06:04:04PM -0200, Diego Sueiro wrote:
> The upstream bug report can be seen at:
> [Systemd #68161] -- https://bugs.freedesktop.org/show_bug.cgi?id=68161
> 
> This backports the patches need to address this in the 206 version.

Hello Diego, this belongs to openembedded-core ML.

It's not clear from the bug report, but these patches are included in
208 release right? Please check and mention it in commit message to
explain that this isn't needed in oe-core/master.

Thanks

> Signed-off-by: Diego Sueiro <diego.sueiro at gmail.com>
> ---
>  ...ournald-fix-fd-leak-in-journal_file_empty.patch |   27 ++++++++++++++
>  ...urnald-fix-vacuuming-of-archived-journals.patch |   37 ++++++++++++++++++++
>  meta/recipes-core/systemd/systemd_206.bb           |    2 ++
>  3 files changed, 66 insertions(+)
>  create mode 100644 meta/recipes-core/systemd/systemd/journald-fix-fd-leak-in-journal_file_empty.patch
>  create mode 100644 meta/recipes-core/systemd/systemd/journald-fix-vacuuming-of-archived-journals.patch
> 
> diff --git a/meta/recipes-core/systemd/systemd/journald-fix-fd-leak-in-journal_file_empty.patch b/meta/recipes-core/systemd/systemd/journald-fix-fd-leak-in-journal_file_empty.patch
> new file mode 100644
> index 0000000..a83c858
> --- /dev/null
> +++ b/meta/recipes-core/systemd/systemd/journald-fix-fd-leak-in-journal_file_empty.patch
> @@ -0,0 +1,27 @@
> +journald: fix fd leak in journal_file_empty
> +Before my previous patch, journal_file_empty wasn't be called with the
> +correct filename. Now that it's being called with the correct filename
> +it leaks file descriptors. This patch closes the file descriptors before
> +returning.
> +
> +Signed-off-by: George McCollister <george.mccollister at gmail.com>
> +
> +
> +Index: systemd-206/src/journal/journal-vacuum.c
> +===================================================================
> +--- systemd-206.orig/src/journal/journal-vacuum.c	2013-07-21 19:43:28.146183128 -0300
> ++++ systemd-206/src/journal/journal-vacuum.c	2014-01-29 20:43:27.492343295 -0200
> +@@ -129,9 +129,9 @@
> + }
> + 
> + static int journal_file_empty(int dir_fd, const char *name) {
> +-        int fd, r;
> ++        int r;
> +         le64_t n_entries;
> +-
> ++        _cleanup_close_ int fd;
> +         fd = openat(dir_fd, name, O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK);
> +         if (fd < 0)
> +                 return -errno;
> +
> +Upstream-Status: Backport [207]
> diff --git a/meta/recipes-core/systemd/systemd/journald-fix-vacuuming-of-archived-journals.patch b/meta/recipes-core/systemd/systemd/journald-fix-vacuuming-of-archived-journals.patch
> new file mode 100644
> index 0000000..7c59200
> --- /dev/null
> +++ b/meta/recipes-core/systemd/systemd/journald-fix-vacuuming-of-archived-journals.patch
> @@ -0,0 +1,37 @@
> +journald: fix vacuuming of archived journals
> +d_name is modified on line 227 so if the entire journal name is needed
> +again p must be used. Before this change when journal_file_empty was called
> +on archived journals it would always return with -2.
> +
> +Signed-off-by: George McCollister <george.mccollister at gmail.com>
> +
> +Index: systemd-206/src/journal/journal-vacuum.c
> +===================================================================
> +--- systemd-206.orig/src/journal/journal-vacuum.c	2014-01-29 20:43:27.492343295 -0200
> ++++ systemd-206/src/journal/journal-vacuum.c	2014-01-29 20:48:55.076356876 -0200
> +@@ -265,18 +265,18 @@
> +                         /* We do not vacuum active files or unknown files! */
> +                         continue;
> + 
> +-                if (journal_file_empty(dirfd(d), de->d_name)) {
> ++                if (journal_file_empty(dirfd(d), p)) {
> + 
> +                         /* Always vacuum empty non-online files. */
> + 
> +-                        if (unlinkat(dirfd(d), de->d_name, 0) >= 0)
> +-                                log_debug("Deleted empty journal %s/%s.", directory, de->d_name);
> ++                        if (unlinkat(dirfd(d), p, 0) >= 0)
> ++                                log_debug("Deleted empty journal %s/%s.", directory, p);
> +                         else if (errno != ENOENT)
> +-                                log_warning("Failed to delete %s/%s: %m", directory, de->d_name);
> ++                                log_warning("Failed to delete %s/%s: %m", directory, p);
> +                         continue;
> +                 }
> + 
> +-                patch_realtime(directory, de->d_name, &st, &realtime);
> ++                patch_realtime(directory, p, &st, &realtime);
> + 
> +                 GREEDY_REALLOC(list, n_allocated, n_list + 1);
> +
> +
> +Upstream-Status: Backport [207] 
> diff --git a/meta/recipes-core/systemd/systemd_206.bb b/meta/recipes-core/systemd/systemd_206.bb
> index a1a8bd7..e7d0f1f 100644
> --- a/meta/recipes-core/systemd/systemd_206.bb
> +++ b/meta/recipes-core/systemd/systemd_206.bb
> @@ -21,6 +21,8 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
>             file://0001-use-CAP_MKNOD-ConditionCapability.patch \
>             file://0001-Use-bin-mkdir-instead-of-host-mkdir-path.patch \
>             file://binfmt-install.patch \
> +           file://journald-fix-fd-leak-in-journal_file_empty.patch \
> +           file://journald-fix-vacuuming-of-archived-journals.patch \
>             file://touchscreen.rules \
>             ${UCLIBCPATCHES} \
>             file://00-create-volatile.conf \
> -- 
> 1.7.10.4
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20140201/d6fc044f/attachment-0002.sig>


More information about the Openembedded-devel mailing list