From 3ad9c56a86822aa425a97fa726a5f8dfcc1a35f2 Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Thu, 11 Dec 2014 10:50:05 +0000 Subject: [PATCH] Accepting request 264764 from home:jankara:branches:filesystems Update to 3.2.2. OBS-URL: https://build.opensuse.org/request/show/264764 OBS-URL: https://build.opensuse.org/package/show/filesystems/xfsprogs?expand=0&rev=31 --- ...-Fix-printing-of-AGF-and-AGI-buffers.patch | 60 ------------------- xfsprogs-3.2.1.tar.gz | 3 - xfsprogs-3.2.2.tar.gz | 3 + xfsprogs.changes | 19 ++++++ xfsprogs.spec | 7 +-- 5 files changed, 24 insertions(+), 68 deletions(-) delete mode 100644 logprint-Fix-printing-of-AGF-and-AGI-buffers.patch delete mode 100644 xfsprogs-3.2.1.tar.gz create mode 100644 xfsprogs-3.2.2.tar.gz diff --git a/logprint-Fix-printing-of-AGF-and-AGI-buffers.patch b/logprint-Fix-printing-of-AGF-and-AGI-buffers.patch deleted file mode 100644 index 5c502f7..0000000 --- a/logprint-Fix-printing-of-AGF-and-AGI-buffers.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 655b1e99f115f13f93143b69fe1a56d11f8651ee Mon Sep 17 00:00:00 2001 -From: Jan Kara -Date: Mon, 14 Jul 2014 16:39:42 +0200 -Subject: [PATCH] logprint: Fix printing of AGF and AGI buffers - -Currently xfs_logprint doesn't show detailed data about AGF and AGI -buffers and instead always shows "Out of space". This is because -xfs_agf_t has additional fields and padding which we never read from -disk and thus buffer length is always smaller than the size of -xfs_agf_t or xfs_agi_t respectively. - -Fix the problem by only making sure we have enough data in the buffer -to contain all the information we want to print. - -Signed-off-by: Jan Kara ---- - logprint/log_misc.c | 20 ++++++++++++++++++-- - 1 file changed, 18 insertions(+), 2 deletions(-) - -diff --git a/logprint/log_misc.c b/logprint/log_misc.c -index d482cf3fba57..c9286c67b913 100644 ---- a/logprint/log_misc.c -+++ b/logprint/log_misc.c -@@ -325,7 +325,15 @@ xlog_print_trans_buffer(xfs_caddr_t *ptr, int len, int *i, int num_ops) - } else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_AGI_MAGIC) { - agi = (xfs_agi_t *)(*ptr); - printf(_("AGI Buffer: XAGI ")); -- if (be32_to_cpu(head->oh_len) < sizeof(xfs_agi_t) - -+ /* -+ * v4 filesystems only contain the fields before the uuid. -+ * Even v5 filesystems don't log any field beneath it. That -+ * means that the size that is logged is almost always going to -+ * be smaller than the structure itself. Hence we need to make -+ * sure that the buffer contains all the data we want to print -+ * rather than just check against the structure size. -+ */ -+ if (be32_to_cpu(head->oh_len) < offsetof(xfs_agi_t, agi_uuid) - - XFS_AGI_UNLINKED_BUCKETS*sizeof(xfs_agino_t)) { - printf(_("out of space\n")); - } else { -@@ -367,7 +375,15 @@ xlog_print_trans_buffer(xfs_caddr_t *ptr, int len, int *i, int num_ops) - } else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_AGF_MAGIC) { - agf = (xfs_agf_t *)(*ptr); - printf(_("AGF Buffer: XAGF ")); -- if (be32_to_cpu(head->oh_len) < sizeof(xfs_agf_t)) { -+ /* -+ * v4 filesystems only contain the fields before the uuid. -+ * Even v5 filesystems don't log any field beneath it. That -+ * means that the size that is logged is almost always going to -+ * be smaller than the structure itself. Hence we need to make -+ * sure that the buffer contains all the data we want to print -+ * rather than just check against the structure size. -+ */ -+ if (be32_to_cpu(head->oh_len) < offsetof(xfs_agf_t, agf_uuid)) { - printf(_("Out of space\n")); - } else { - printf("\n"); --- -1.8.1.4 - diff --git a/xfsprogs-3.2.1.tar.gz b/xfsprogs-3.2.1.tar.gz deleted file mode 100644 index 00f9ef8..0000000 --- a/xfsprogs-3.2.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:83f8ea4c38fe9f42b9f12cd523519287a9695f2cf4f3064e9e9a839f71185767 -size 1475624 diff --git a/xfsprogs-3.2.2.tar.gz b/xfsprogs-3.2.2.tar.gz new file mode 100644 index 0000000..563df33 --- /dev/null +++ b/xfsprogs-3.2.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a525ce21dc39d4ad3d775fa3c12c2dd4fb7a85e1e05ddd4530dcf773ed65fab +size 1477667 diff --git a/xfsprogs.changes b/xfsprogs.changes index edfff3c..5a699e8 100644 --- a/xfsprogs.changes +++ b/xfsprogs.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu Dec 11 10:06:01 UTC 2014 - jack@suse.cz + +- Updated to 3.2.2 + - xfs_repair, mkfs.xfs stripe geometry fixes + - libxcmd path handling fixes + - xfs_crash crash fix + - xfs_logprint AGI/AGF handling improvements + - libhandle support for symlinked /usr + - fix multiple Coverity and sparse reported issues + - new mremap, sync, syncfs commands for xfs_io + - man page updates + - xfs_repair sets ftype in lost+found dirents + - xfs_repair handles bad inodes better + - xfs_repair freelist rebuild improvements + - xfs_repair finobt crash fixes + - xfs_copy handles 4k sector devices better +logprint-Fix-printing-of-AGF-and-AGI-buffers.patch: Removed (merged upstream) + ------------------------------------------------------------------- Tue Jul 22 09:59:46 UTC 2014 - jack@suse.cz diff --git a/xfsprogs.spec b/xfsprogs.spec index c1a098d..18a86bd 100644 --- a/xfsprogs.spec +++ b/xfsprogs.spec @@ -27,7 +27,7 @@ BuildRequires: libuuid-devel %else BuildRequires: libuuid-devel %endif -Version: 3.2.1 +Version: 3.2.2 Release: 0 %if 0%{?suse_version} >= 1010 # hint for ZYPP @@ -40,7 +40,6 @@ Group: System/Filesystems Source0: xfsprogs-%{version}.tar.gz Patch0: xfsprogs-docdir.diff Patch1: xfsprogs-ppc64.diff -Patch2: logprint-Fix-printing-of-AGF-and-AGI-buffers.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -76,7 +75,6 @@ want to install xfsprogs. %patch0 %endif %patch1 -%patch2 -p1 %build export OPTIMIZER="-fPIC" @@ -90,8 +88,7 @@ export DIST_ROOT="$RPM_BUILD_ROOT" /usr/bin/make install /usr/bin/make install-dev # remove devel stuff from /lib -rm $RPM_BUILD_ROOT/%_lib/libhandle.{so,a,la} -rm $RPM_BUILD_ROOT/%_libdir/libhandle.so +rm $RPM_BUILD_ROOT/%_lib/libhandle.so # move things to usr mv $RPM_BUILD_ROOT/sbin/* $RPM_BUILD_ROOT%{_sbindir} mv $RPM_BUILD_ROOT/%_lib/* $RPM_BUILD_ROOT%{_libdir}