Accepting request 976489 from filesystems

OBS-URL: https://build.opensuse.org/request/show/976489
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xfsprogs?expand=0&rev=73
This commit is contained in:
Dominique Leuenberger 2022-05-14 20:52:04 +00:00 committed by Git OBS Bridge
commit b982edab19
7 changed files with 68 additions and 36 deletions

View File

@ -1,4 +1,4 @@
From 73ef905b37bbf4cd1b13f3aaa4da5457f793d1ac Mon Sep 17 00:00:00 2001
From e2239ef552a48edd33740fec8a005a7ac12dcc80 Mon Sep 17 00:00:00 2001
From: Jeffrey Mahoney <jeffm@suse.com>
Date: Tue, 21 Aug 2018 13:41:20 -0400
Subject: [PATCH] repair: shift inode back into place if corrupted by bad log
@ -35,17 +35,19 @@ big problems.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
---
repair/dinode.c | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
repair/dinode.c | 186 ++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 180 insertions(+), 6 deletions(-)
diff --git a/repair/dinode.c b/repair/dinode.c
index 8ea919698d14..81238568ac8e 100644
--- a/repair/dinode.c
+++ b/repair/dinode.c
@@ -2229,6 +2229,160 @@
@@ -2239,6 +2239,160 @@ _("Bad extent size hint %u on inode %" PRIu64 ", "),
}
}
+static int
+check_shifted_uuid(xfs_dinode_t *dino, xfs_mount_t *mp)
+check_shifted_uuid(struct xfs_dinode *dino, xfs_mount_t *mp)
+{
+ uint64_t tmp64;
+ char tmpuuid[16];
@ -66,9 +68,9 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
+ * documented below.
+ */
+static void
+repair_inode_with_bad_atomic(xfs_dinode_t *dino, xfs_mount_t *mp)
+repair_inode_with_bad_atomic(struct xfs_dinode *dino, xfs_mount_t *mp)
+{
+ xfs_dinode_t fixed;
+ struct xfs_dinode fixed;
+ struct xfs_legacy_timestamp *lts;
+ uint64_t tmp64;
+ uint32_t tmp32;
@ -147,20 +149,20 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
+}
+
+static int
+process_dinode_int(xfs_mount_t *mp, xfs_dinode_t *dino, xfs_agnumber_t agno,
+process_dinode_int(xfs_mount_t *mp, struct xfs_dinode *dino, xfs_agnumber_t agno,
+ xfs_agino_t ino, int was_free, int *dirty, int *used,
+ int verify_mode, int uncertain, int ino_discovery,
+ int check_dups, int extra_attr_check, int *isa_dir,
+ xfs_ino_t *parent, int recurse);
+
+static int
+handle_malformed_inode(xfs_mount_t *mp, xfs_dinode_t *dino,
+handle_malformed_inode(xfs_mount_t *mp, struct xfs_dinode *dino,
+ xfs_agnumber_t agno, xfs_agino_t ino, int was_free,
+ int *dirty, int *used, int verify_mode, int uncertain,
+ int ino_discovery, int check_dups, int extra_attr_check,
+ int *isa_dir, xfs_ino_t *parent)
+{
+ xfs_dinode_t save;
+ struct xfs_dinode save;
+ int retval;
+ xfs_ino_t lino = XFS_AGINO_TO_INO(mp, agno, ino);
+
@ -201,7 +203,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
/*
* returns 0 if the inode is ok, 1 if the inode is corrupt
* check_dups can be set to 1 *only* when called by the
@@ -2253,7 +2407,8 @@
@@ -2263,7 +2417,8 @@ process_dinode_int(xfs_mount_t *mp,
* duplicate blocks */
int extra_attr_check, /* 1 == do attribute format and value checks */
int *isa_dir, /* out == 1 if inode is a directory */
@ -211,7 +213,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
{
xfs_rfsblock_t totblocks = 0;
xfs_rfsblock_t atotblocks = 0;
@@ -2369,6 +2524,25 @@
@@ -2379,6 +2534,25 @@ process_dinode_int(xfs_mount_t *mp,
* memory and hence invalidated the CRC.
*/
if (xfs_has_crc(mp)) {
@ -237,7 +239,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
if (be64_to_cpu(dino->di_ino) != lino) {
if (!uncertain)
do_warn(
@@ -2379,8 +2553,7 @@
@@ -2389,8 +2563,7 @@ _("inode identifier %llu mismatch on inode %" PRIu64 "\n"),
return 1;
goto clear_bad_out;
}
@ -247,7 +249,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
if (!uncertain)
do_warn(
_("UUID mismatch on inode %" PRIu64 "\n"), lino);
@@ -2942,7 +3115,8 @@
@@ -2952,7 +3125,8 @@ process_dinode(
#endif
return process_dinode_int(mp, dino, agno, ino, was_free, dirty, used,
verify_mode, uncertain, ino_discovery,
@ -257,7 +259,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
}
/*
@@ -2969,7 +3143,7 @@
@@ -2979,7 +3153,7 @@ verify_dinode(
return process_dinode_int(mp, dino, agno, ino, 0, &dirty, &used,
verify_mode, uncertain, ino_discovery,
@ -266,10 +268,13 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
}
/*
@@ -2995,5 +3169,5 @@
@@ -3005,5 +3179,5 @@ verify_uncertain_dinode(
return process_dinode_int(mp, dino, agno, ino, 0, &dirty, &used,
verify_mode, uncertain, ino_discovery,
- check_dups, 0, &isa_dir, &parent);
+ check_dups, 0, &isa_dir, &parent, 0);
}
--
2.36.1

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAABAgAGBQJiTgchAAoJECCuFpLhPd7g9pUP/2WideIFztX/8tbth0KDSCX2
ugKVNnM76piaFRt70dkYIT7iAfZ8GIvuZi+Yrkyh2ZQhcECHgl7nwT18jZDpp6yH
zmdRmDP1AZ3iAPkRq3BUBiF9LOKxFcs0/aibVf7oNLOJo2vOFCOSDFeOWc8UzgGp
MGQ80VGS7MZTVOO8C6kh/2CnjO7iiU0IbOYAzfeCxT0hv8kPdt4BYIbkoabL9aCv
AlxPMfoswVuznzl22w6rTt+Egw0n/YaWKrAn/bUKt21B4aIu96EhOM7iGvWcVPID
TN68zxItcs2caEXEjJh763iiDxIf6oRUS6SAJoy0AJa7S1CEHPSSpUXwq/FUBdqy
dDgilWG26L+3KCWhYGPs1vC4WqoGZUtakdcm/qgquu8diPADfzrpCizR3iiOSYng
Jm4OU0R/VB5fUlTY9aYRFLzRxaY9ufKklxV8K1dugm0OqOR/1675OSCP+McOV15P
fWSPz10WSQ2xVIqz94+3OuaUFvaAMX6uBo4ZdyO/WNJGsi9pA55nuWZxZPEHQ7KL
shhiGt4xRqfolGcqFr3+BScFDX4mIAEGZM/mTgSf51mvs9gO96fZwzoR4FDZNAX5
K4DbzpnobVqiJtSZUNSXWUuoFt2mR2oHpizvWovCNz0bJN6V0/iW1NMbBrq9xh3r
89tEY8iKqE1l6XxCBhuU
=fxPf
-----END PGP SIGNATURE-----

View File

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

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

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAABAgAGBQJictEbAAoJECCuFpLhPd7gJqYP/RigglHuruoEOfesiJO2KpqC
F2khfddcd7HjLF8BxdNeKzuJke+r6aFMMf5x8ADhAHfICtTOjCLVYbwYmI8uj4TB
ZZStr2FbL+BtlnSjHcZXtS7hH+W9aewiqdEVueFc4uZXYQDeg20f39lMr3bCU2gM
QkVghTTUiikj5MiwVJ/RpTYI7uxm1ai7daVSs4oCR2DTeMNLrLCoDY3r0MdK20l+
W0Mv7cEIJaWz3p1/OV4IyDUEcqsYP+363TrpciDbEBXejhPLF19+vmKMUyjnRhW/
F+56P3c6p0U8q7gRA+XR2sXSRUs9ARr09Fm4azKeq7PRvG833BrIf/DHDgJPzfZc
qPiTPSMNvw4m5F5mUEmchoOVB9wUJ/7wZSDHO+ObIAui00L+VGv9+JhquC17QMNs
U9dBoW+nvxtbaceqthxnxVol/z49slsB/97UHYEu+zfkKdRy4N7nKGSy9q7rYGKf
vpWsKRkdmLz56hwk5ufXb0qi74TsjKj6vTpOqouvtYVwCT/qVwjc8GUrYEEq9xrl
VdVFD9Nag1XO+B4FsDJ28H6611kpkpZ3vRLmbw6u4aDG/ZqMHM40I1BcVPKQH8Du
e/ISbrJorwULH2pk7FKHacPAvDAeKjflgl4JZUKqU5chcP00EqMuEIB/ZZHKSCYV
g6XH/w2Pq3/MoCeyhTl+
=yqhI
-----END PGP SIGNATURE-----

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

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

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Wed May 11 19:33:16 UTC 2022 - Anthony Iliopoulos <ailiopoulos@suse.com>
- update to 5.16.0:
- libxfs: remove kernel stubs from xfs_shared.h
- debian: Generate .gitcensus instead of .census
- libxfs changes merged from kernel 5.16
- mkfs: increase the min log size to 64MB when possible
- xfs_scrub: retry items that are ok except for XFAIL
- xfs_scrub: fix xfrog_scrub_metadata error reporting
- mkfs: enable inobtcount and bigtime by default
- mkfs: prevent corruption of suboption string values
- mkfs: document sample configuration file location
- mkfs: add configuration files for a few LTS kernels
- mkfs: add a config file for x86_64 pmem filesystems
- xfs_quota: don't exit on "project" cmd failure
- xfs_repair: don't guess about failure reason in phase6
- xfs_repair: update 2ndary superblocks after upgrades
- xfs_scrub: fix reporting if we can't open devices
- xfs_scrub: report optional features in version
- libxcmd: use emacs mode for command history editing
- libfrog: always use the kernel GETFSMAP definitions
- mkfs.xfs(8): fix default inode allocator description
- xfs_quota(8): fix up dump and report documentation
- xfs_quota(8): document units in limit command
- misc: add a crc32c self test to mkfs and repair
-------------------------------------------------------------------
Tue Apr 26 23:22:02 UTC 2022 - Anthony Iliopoulos <ailiop@suse.com>

View File

@ -25,7 +25,7 @@
%endif
%define libname libhandle1
Name: xfsprogs
Version: 5.15.0
Version: 5.16.0
Release: 0
Summary: Utilities for managing the XFS file system
License: GPL-2.0-or-later