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
This commit is contained in:
Jeff Mahoney 2018-10-20 00:34:52 +00:00 committed by Git OBS Bridge
parent c56022df67
commit f61bfe0aab
8 changed files with 52 additions and 86 deletions

View File

@ -41,7 +41,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
--- a/repair/dinode.c --- a/repair/dinode.c
+++ b/repair/dinode.c +++ b/repair/dinode.c
@@ -2200,6 +2200,158 @@ _("would clear obsolete nlink field in v @@ -2200,6 +2200,158 @@ _("would clear obsolete nlink field in v
return dirty; }
} }
+static int +static int

View File

@ -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-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3d5c2da46112b86cbd967fee43cea731d38a1b2aaf601b57674ed34e808652df
size 1199632

17
xfsprogs-4.18.0.tar.sign Normal file
View File

@ -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-----

3
xfsprogs-4.18.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:397dc96f51aeeff73d021d3418d3172377b2685f2740ca60525096c070aa3df1
size 1214480

View File

@ -1,57 +0,0 @@
From 99a3f52e337d9c785315e64a599755bc6f7b2118 Mon Sep 17 00:00:00 2001
From: Jeff Mahoney <jeffm@suse.com>
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 <jeffm@suse.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
[sandeen: remove guessing heuristic, just warn and ignore bad data.]
Reviewed-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
---
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"),

View File

@ -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 Tue Aug 21 19:09:54 UTC 2018 - jeffm@suse.com

View File

@ -26,7 +26,7 @@
%define libname libhandle1 %define libname libhandle1
Name: xfsprogs Name: xfsprogs
Version: 4.16.1 Version: 4.18.0
Release: 0 Release: 0
Summary: Utilities for managing the XFS file system Summary: Utilities for managing the XFS file system
License: GPL-2.0-or-later License: GPL-2.0-or-later
@ -38,7 +38,6 @@ Source2: %{name}.keyring
Source3: module-setup.sh.in Source3: module-setup.sh.in
Source4: dracut-fsck-help.txt Source4: dracut-fsck-help.txt
Patch0: xfsprogs-docdir.diff 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 Patch2: 0001-repair-shift-inode-back-into-place-if-corrupted-by-b.patch
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
@ -101,7 +100,6 @@ want to install xfsprogs.
%prep %prep
%setup -q %setup -q
%patch0 -p1 %patch0 -p1
%patch1 -p1
%patch2 -p1 %patch2 -p1
%build %build
@ -130,10 +128,6 @@ sed -e "s|@@PATH_TO_HELP@@|$PATH_TO_HELP|" %{SOURCE3} > module-setup.sh
export DIST_ROOT=%{buildroot} export DIST_ROOT=%{buildroot}
%make_install %make_install
make install-dev 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 # remove the static libs and libtool archive
rm -rf %{buildroot}/%{_lib}/*.{la,a} rm -rf %{buildroot}/%{_lib}/*.{la,a}
rm -rf %{buildroot}/%{_libdir}/*.{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 %if 0%{?suse_version} >= 1315
# SLE12 doesn't do %license # SLE12 doesn't do %license
%if 0%{?suse_version} > 1315 || 0%{?is_opensuse} %if 0%{?suse_version} > 1315 || 0%{?is_opensuse}
%license doc/COPYING %license LICENSES/GPL-2.0 LICENSES/LGPL-2.1
%endif %endif
%endif %endif
%dir %{_libexecdir}/dracut %dir %{_libexecdir}/dracut