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:
commit
b982edab19
@ -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>
|
From: Jeffrey Mahoney <jeffm@suse.com>
|
||||||
Date: Tue, 21 Aug 2018 13:41:20 -0400
|
Date: Tue, 21 Aug 2018 13:41:20 -0400
|
||||||
Subject: [PATCH] repair: shift inode back into place if corrupted by bad log
|
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>
|
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
||||||
---
|
---
|
||||||
repair/dinode.c | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
|
repair/dinode.c | 186 ++++++++++++++++++++++++++++++++++++++++++++++--
|
||||||
1 file changed, 180 insertions(+), 6 deletions(-)
|
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
|
--- a/repair/dinode.c
|
||||||
+++ b/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
|
+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;
|
+ uint64_t tmp64;
|
||||||
+ char tmpuuid[16];
|
+ char tmpuuid[16];
|
||||||
@ -66,9 +68,9 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
|||||||
+ * documented below.
|
+ * documented below.
|
||||||
+ */
|
+ */
|
||||||
+static void
|
+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;
|
+ struct xfs_legacy_timestamp *lts;
|
||||||
+ uint64_t tmp64;
|
+ uint64_t tmp64;
|
||||||
+ uint32_t tmp32;
|
+ uint32_t tmp32;
|
||||||
@ -147,20 +149,20 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+static int
|
+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,
|
+ xfs_agino_t ino, int was_free, int *dirty, int *used,
|
||||||
+ int verify_mode, int uncertain, int ino_discovery,
|
+ int verify_mode, int uncertain, int ino_discovery,
|
||||||
+ int check_dups, int extra_attr_check, int *isa_dir,
|
+ int check_dups, int extra_attr_check, int *isa_dir,
|
||||||
+ xfs_ino_t *parent, int recurse);
|
+ xfs_ino_t *parent, int recurse);
|
||||||
+
|
+
|
||||||
+static int
|
+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,
|
+ xfs_agnumber_t agno, xfs_agino_t ino, int was_free,
|
||||||
+ int *dirty, int *used, int verify_mode, int uncertain,
|
+ int *dirty, int *used, int verify_mode, int uncertain,
|
||||||
+ int ino_discovery, int check_dups, int extra_attr_check,
|
+ int ino_discovery, int check_dups, int extra_attr_check,
|
||||||
+ int *isa_dir, xfs_ino_t *parent)
|
+ int *isa_dir, xfs_ino_t *parent)
|
||||||
+{
|
+{
|
||||||
+ xfs_dinode_t save;
|
+ struct xfs_dinode save;
|
||||||
+ int retval;
|
+ int retval;
|
||||||
+ xfs_ino_t lino = XFS_AGINO_TO_INO(mp, agno, ino);
|
+ 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
|
* 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
|
* 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 */
|
* duplicate blocks */
|
||||||
int extra_attr_check, /* 1 == do attribute format and value checks */
|
int extra_attr_check, /* 1 == do attribute format and value checks */
|
||||||
int *isa_dir, /* out == 1 if inode is a directory */
|
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 totblocks = 0;
|
||||||
xfs_rfsblock_t atotblocks = 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.
|
* memory and hence invalidated the CRC.
|
||||||
*/
|
*/
|
||||||
if (xfs_has_crc(mp)) {
|
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 (be64_to_cpu(dino->di_ino) != lino) {
|
||||||
if (!uncertain)
|
if (!uncertain)
|
||||||
do_warn(
|
do_warn(
|
||||||
@@ -2379,8 +2553,7 @@
|
@@ -2389,8 +2563,7 @@ _("inode identifier %llu mismatch on inode %" PRIu64 "\n"),
|
||||||
return 1;
|
return 1;
|
||||||
goto clear_bad_out;
|
goto clear_bad_out;
|
||||||
}
|
}
|
||||||
@ -247,7 +249,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
|||||||
if (!uncertain)
|
if (!uncertain)
|
||||||
do_warn(
|
do_warn(
|
||||||
_("UUID mismatch on inode %" PRIu64 "\n"), lino);
|
_("UUID mismatch on inode %" PRIu64 "\n"), lino);
|
||||||
@@ -2942,7 +3115,8 @@
|
@@ -2952,7 +3125,8 @@ process_dinode(
|
||||||
#endif
|
#endif
|
||||||
return process_dinode_int(mp, dino, agno, ino, was_free, dirty, used,
|
return process_dinode_int(mp, dino, agno, ino, was_free, dirty, used,
|
||||||
verify_mode, uncertain, ino_discovery,
|
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,
|
return process_dinode_int(mp, dino, agno, ino, 0, &dirty, &used,
|
||||||
verify_mode, uncertain, ino_discovery,
|
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,
|
return process_dinode_int(mp, dino, agno, ino, 0, &dirty, &used,
|
||||||
verify_mode, uncertain, ino_discovery,
|
verify_mode, uncertain, ino_discovery,
|
||||||
- check_dups, 0, &isa_dir, &parent);
|
- check_dups, 0, &isa_dir, &parent);
|
||||||
+ check_dups, 0, &isa_dir, &parent, 0);
|
+ check_dups, 0, &isa_dir, &parent, 0);
|
||||||
}
|
}
|
||||||
|
--
|
||||||
|
2.36.1
|
||||||
|
|
||||||
|
@ -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-----
|
|
@ -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
17
xfsprogs-5.16.0.tar.sign
Normal 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
3
xfsprogs-5.16.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:78b8c899999bd690441cb53d7c02ab671294940319c694ff7c82e23e8e46bb9f
|
||||||
|
size 1306100
|
@ -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>
|
Tue Apr 26 23:22:02 UTC 2022 - Anthony Iliopoulos <ailiop@suse.com>
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
%endif
|
%endif
|
||||||
%define libname libhandle1
|
%define libname libhandle1
|
||||||
Name: xfsprogs
|
Name: xfsprogs
|
||||||
Version: 5.15.0
|
Version: 5.16.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
|
||||||
|
Loading…
Reference in New Issue
Block a user