From f61bfe0aab4eea69053f13fe3e24d51da8d8d336 Mon Sep 17 00:00:00 2001 From: Jeff Mahoney Date: Sat, 20 Oct 2018 00:34:52 +0000 Subject: [PATCH] Accepting request 643278 from home:jeff_mahoney:branches:filesystems - Update to v4.18.0 * xfs_repair: notify user if free inodes are corrupt * xfs_repair: use extent size validation helpers * xfs_quota: don't stop the directory tree walk at DEPTH * xfs_scrub: ongoing updates * xfs_io: document shutdown -f * xfs_io: wire up online repair ioctls * misc: adddebian initramfs hook to package * misc: remove unused macros * misc: remove many XFS_BUF macros * Majority of 4.18 libxfs changes merged from kernel - Update to v4.17.0 * mkfs.xfs: only stat block devices during mkfs init * xfs_repair: multiple fixes and improvements * xfs_repair: check and repair quota metadata * xfs_repair: fix shortform root inode parent * xfs_db: don't ASSERT on unrecognized metadata * xfs_db: add superblock info command ala xfs_info * xfs_spaceman: add superblock info command ala xfs_info * xfs_info: call xfs_db for unmounted devices * xfs_io: add online label command * xfs_io: add O_PATH and O_NOFOLLOW options * xfs_io: recognize *iB units in copy_range - Removed now-obsolete patches: * xfsprogs-mkfs-avoid-divide-by-zero-when-hardware-reports-opti.patch OBS-URL: https://build.opensuse.org/request/show/643278 OBS-URL: https://build.opensuse.org/package/show/filesystems/xfsprogs?expand=0&rev=77 --- ...de-back-into-place-if-corrupted-by-b.patch | 2 +- xfsprogs-4.16.1.tar.sign | 17 ------ xfsprogs-4.16.1.tar.xz | 3 - xfsprogs-4.18.0.tar.sign | 17 ++++++ xfsprogs-4.18.0.tar.xz | 3 + ...e-by-zero-when-hardware-reports-opti.patch | 57 ------------------- xfsprogs.changes | 29 ++++++++++ xfsprogs.spec | 10 +--- 8 files changed, 52 insertions(+), 86 deletions(-) delete mode 100644 xfsprogs-4.16.1.tar.sign delete mode 100644 xfsprogs-4.16.1.tar.xz create mode 100644 xfsprogs-4.18.0.tar.sign create mode 100644 xfsprogs-4.18.0.tar.xz delete mode 100644 xfsprogs-mkfs-avoid-divide-by-zero-when-hardware-reports-opti.patch diff --git a/0001-repair-shift-inode-back-into-place-if-corrupted-by-b.patch b/0001-repair-shift-inode-back-into-place-if-corrupted-by-b.patch index 8ab392b..d871174 100644 --- a/0001-repair-shift-inode-back-into-place-if-corrupted-by-b.patch +++ b/0001-repair-shift-inode-back-into-place-if-corrupted-by-b.patch @@ -41,7 +41,7 @@ Signed-off-by: Jeff Mahoney --- a/repair/dinode.c +++ b/repair/dinode.c @@ -2200,6 +2200,158 @@ _("would clear obsolete nlink field in v - return dirty; + } } +static int diff --git a/xfsprogs-4.16.1.tar.sign b/xfsprogs-4.16.1.tar.sign deleted file mode 100644 index 15a3800..0000000 --- a/xfsprogs-4.16.1.tar.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iQIcBAABAgAGBQJa59q/AAoJECCuFpLhPd7gcwIQAJrN1TcTAHck+u/6z/CpaO/0 -bXqUn0CZqMCuZPBWiovIJyLeS6qBkDJ55VWFcc8zxNCjdzrNWV2xr34fYyF0vBXQ -rGbuedzTiQDs+T3OQNKDVZyQWh0S9SbKZAeCxMIA4deGWckji8N75TMruYGagjuv -YeesetmGal4xxaCieKjWbkRwQYATRszSXWGtKWnW4Q0iSESuZzIggfKbrFrUJUmu -DMQwSj+R5ybRkj7b20tosztHl0nVoKsTF+pqp1fLDEYjZ0QX9bjKPpQpgvk5u7k/ -rfeZeToSoYXUl4qmGdeOQgpZeMLRKGdPXu7HY/gJpieqI5RN29wMVsC1iC13ojHl -4jorpRBwVHAZYOlDHD21n1W5A5oohMXChy3LVwRzXx4NrALIV69mbpe9W9x/e4Px -lpOrNxoqmCpge4uU67c8OcWHPXidur2l/kYkatWZ+6S1ICYR+rJNEyKkKAJDvRQh -7JBdpmJceCMio2+2RI+/UHkRlkCaiZww8FQVMQWUrVxroN1nkoEX+rZwcttJ/zzj -sN3LFE/GyAxxcBux4XhVgK9Z+BMou1RXCir4utoISnmg6d5dT3fwASAPZgdc7qIv -TXOHNTM6UZlYQOvOsj+z6cBMdwPfBDHhpT9qHvIUQ2XFEAh6OmBFIgb1nPX+cJTl -GSuqaPvYTsM9D785VAyg -=sxJN ------END PGP SIGNATURE----- diff --git a/xfsprogs-4.16.1.tar.xz b/xfsprogs-4.16.1.tar.xz deleted file mode 100644 index 1c9647a..0000000 --- a/xfsprogs-4.16.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d5c2da46112b86cbd967fee43cea731d38a1b2aaf601b57674ed34e808652df -size 1199632 diff --git a/xfsprogs-4.18.0.tar.sign b/xfsprogs-4.18.0.tar.sign new file mode 100644 index 0000000..27ba45d --- /dev/null +++ b/xfsprogs-4.18.0.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iQIcBAABAgAGBQJbgHDeAAoJECCuFpLhPd7g2vUP/2oeECOzod0g6sMUtRcftvWQ +cnUpgpId5U4kPqOQd7BBxtJE+5eDu5z9jTKtlu037WeWP1ieClgi+Wm3uM56InXv +4tcOmHNAetNuP3XfpuqYk3EG18dZjmyBG0q9PLbeApuQNNp2i1fo2B6GaYnT8Zrn +jZ505DSnqQ51+H1MAZD7C1GW+Tt/nhaZnfqsFV4hMS6IFrvGnzTGD3jn4H+klhi9 +1K4/20sr3RuM4Jg/0uNxkZlHFTbAMYE0qBNkuUEp4qgq6jA2MVRBIyTsuyrr140b +Jf6OyUWGg0Rc2DsFZS2z/tAvOM2F6fOVB3v35mzOVnYWmNIK5FCsM8OMrWI2Mp+8 +QtFsJpRnbgno8m4BaJv64prB3I3dtR5z6MmyQbYG5sDx8C+i5HR7RJuCC426Y4uo +j1C95DT12yq6zLioFTUfxrsmEkbzJsXX+HDGte+ntUMFkBkzXD1+c2hD8hdiOwwQ +U4Beuqa2tI10jyfut7QYqEzWKclfclGsdxYftljQbEl/Yd/r9nkle0p4y2YshQ7A +wV6EDlT0Px1n+0PeSTL0aS69x7LGyUfyH9Zjdq5JYEqjefiixpnro3APvrNeCnBl +wX19zvLiX2gxtr++1/HaNiY1JJHGH/DS0XAT3XecFIqDSeSoxc6a6QMxukBT9Bcv +2KOyytedY/43mcWWR3YQ +=scoD +-----END PGP SIGNATURE----- diff --git a/xfsprogs-4.18.0.tar.xz b/xfsprogs-4.18.0.tar.xz new file mode 100644 index 0000000..9f75a16 --- /dev/null +++ b/xfsprogs-4.18.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:397dc96f51aeeff73d021d3418d3172377b2685f2740ca60525096c070aa3df1 +size 1214480 diff --git a/xfsprogs-mkfs-avoid-divide-by-zero-when-hardware-reports-opti.patch b/xfsprogs-mkfs-avoid-divide-by-zero-when-hardware-reports-opti.patch deleted file mode 100644 index 1162e34..0000000 --- a/xfsprogs-mkfs-avoid-divide-by-zero-when-hardware-reports-opti.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 99a3f52e337d9c785315e64a599755bc6f7b2118 Mon Sep 17 00:00:00 2001 -From: Jeff Mahoney -Date: Wed, 1 Aug 2018 17:06:45 -0500 -Subject: [PATCH] mkfs: avoid divide-by-zero when hardware reports optimal i/o - size as 0 -References: bsc#1089777 -Patch-mainline: v4.18.0-rc1 -Git-commit: 99a3f52e337d9c785315e64a599755bc6f7b2118 - -Commit 051b4e37f5e (mkfs: factor AG alignment) factored out the -AG alignment code into a separate function. It got rid of -redundant checks for dswidth != 0 since calc_stripe_factors was -supposed to guarantee that if dsunit is non-zero dswidth will be -as well. Unfortunately, there's hardware out there that reports its -optimal i/o size as larger than the maximum i/o size, which the kernel -treats as broken and zeros out the optimal i/o size. - -To resolve this we can check the topology before consuming it, and -ignore the bad stripe geometry. - -Fixes: 051b4e37f5e (mkfs: factor AG alignment) -Signed-off-by: Jeff Mahoney -Reviewed-by: Eric Sandeen -[sandeen: remove guessing heuristic, just warn and ignore bad data.] -Reviewed-by: Jeff Mahoney -Signed-off-by: Eric Sandeen ---- - mkfs/xfs_mkfs.c | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - ---- a/mkfs/xfs_mkfs.c -+++ b/mkfs/xfs_mkfs.c -@@ -2292,11 +2292,20 @@ _("data stripe width (%d) must be a mult - - /* if no stripe config set, use the device default */ - if (!dsunit) { -- dsunit = ft->dsunit; -- dswidth = ft->dswidth; -- use_dev = true; -+ /* Ignore nonsense from device. XXX add more validation */ -+ if (ft->dsunit && ft->dswidth == 0) { -+ fprintf(stderr, -+_("%s: Volume reports stripe unit of %d bytes and stripe width of 0, ignoring.\n"), -+ progname, BBTOB(ft->dsunit)); -+ ft->dsunit = 0; -+ ft->dswidth = 0; -+ } else { -+ dsunit = ft->dsunit; -+ dswidth = ft->dswidth; -+ use_dev = true; -+ } - } else { -- /* check and warn is alignment is sub-optimal */ -+ /* check and warn if user-specified alignment is sub-optimal */ - if (ft->dsunit && ft->dsunit != dsunit) { - fprintf(stderr, - _("%s: Specified data stripe unit %d is not the same as the volume stripe unit %d\n"), diff --git a/xfsprogs.changes b/xfsprogs.changes index b909bc4..ffb6a58 100644 --- a/xfsprogs.changes +++ b/xfsprogs.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Sat Oct 20 00:12:21 UTC 2018 - jeffm@suse.com + +- Update to v4.18.0 + * xfs_repair: notify user if free inodes are corrupt + * xfs_repair: use extent size validation helpers + * xfs_quota: don't stop the directory tree walk at DEPTH + * xfs_scrub: ongoing updates + * xfs_io: document shutdown -f + * xfs_io: wire up online repair ioctls + * misc: adddebian initramfs hook to package + * misc: remove unused macros + * misc: remove many XFS_BUF macros + * Majority of 4.18 libxfs changes merged from kernel +- Update to v4.17.0 + * mkfs.xfs: only stat block devices during mkfs init + * xfs_repair: multiple fixes and improvements + * xfs_repair: check and repair quota metadata + * xfs_repair: fix shortform root inode parent + * xfs_db: don't ASSERT on unrecognized metadata + * xfs_db: add superblock info command ala xfs_info + * xfs_spaceman: add superblock info command ala xfs_info + * xfs_info: call xfs_db for unmounted devices + * xfs_io: add online label command + * xfs_io: add O_PATH and O_NOFOLLOW options + * xfs_io: recognize *iB units in copy_range +- Removed now-obsolete patches: + * xfsprogs-mkfs-avoid-divide-by-zero-when-hardware-reports-opti.patch + ------------------------------------------------------------------- Tue Aug 21 19:09:54 UTC 2018 - jeffm@suse.com diff --git a/xfsprogs.spec b/xfsprogs.spec index d9ab090..016a8d1 100644 --- a/xfsprogs.spec +++ b/xfsprogs.spec @@ -26,7 +26,7 @@ %define libname libhandle1 Name: xfsprogs -Version: 4.16.1 +Version: 4.18.0 Release: 0 Summary: Utilities for managing the XFS file system License: GPL-2.0-or-later @@ -38,7 +38,6 @@ Source2: %{name}.keyring Source3: module-setup.sh.in Source4: dracut-fsck-help.txt Patch0: xfsprogs-docdir.diff -Patch1: xfsprogs-mkfs-avoid-divide-by-zero-when-hardware-reports-opti.patch Patch2: 0001-repair-shift-inode-back-into-place-if-corrupted-by-b.patch BuildRequires: autoconf BuildRequires: automake @@ -101,7 +100,6 @@ want to install xfsprogs. %prep %setup -q %patch0 -p1 -%patch1 -p1 %patch2 -p1 %build @@ -130,10 +128,6 @@ sed -e "s|@@PATH_TO_HELP@@|$PATH_TO_HELP|" %{SOURCE3} > module-setup.sh export DIST_ROOT=%{buildroot} %make_install make install-dev -# installed by %license macro -%if 0%{?suse_version} < 1315 -rm %{buildroot}%{_defaultdocdir}/%{name}/COPYING -%endif # remove the static libs and libtool archive rm -rf %{buildroot}/%{_lib}/*.{la,a} rm -rf %{buildroot}/%{_libdir}/*.{la,a} @@ -188,7 +182,7 @@ install -m 0644 %{SOURCE4} %{buildroot}/%{_dracutmodulesdir}/95suse-xfs/ %if 0%{?suse_version} >= 1315 # SLE12 doesn't do %license %if 0%{?suse_version} > 1315 || 0%{?is_opensuse} -%license doc/COPYING +%license LICENSES/GPL-2.0 LICENSES/LGPL-2.1 %endif %endif %dir %{_libexecdir}/dracut