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 <[email protected]>
> ---
>  ...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 <[email protected]>
> +
> +
> +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 <[email protected]>
> +
> +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
> [email protected]
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: [email protected]

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to