Import from AlmaLinux stable repository
This commit is contained in:
parent
2fac2e9be0
commit
07ec8b876b
|
@ -1 +1 @@
|
|||
SOURCES/xfsprogs-5.14.2.tar.xz
|
||||
SOURCES/xfsprogs-6.3.0.tar.xz
|
||||
|
|
|
@ -1 +1 @@
|
|||
035e552cf4a08d5dbe1330ec1e3e6ceeb21b6bc9 SOURCES/xfsprogs-5.14.2.tar.xz
|
||||
e976c2c41a957ee16094690596ee210dd45951fa SOURCES/xfsprogs-6.3.0.tar.xz
|
||||
|
|
|
@ -0,0 +1,174 @@
|
|||
pub ed25519 2022-05-27 [C]
|
||||
4020459E58C1A52511F5399113F703E6C11CF6F0
|
||||
uid Carlos Eduardo Maiolino <carlos@maiolino.me>
|
||||
uid Carlos Eduardo Maiolino <cmaiolino@redhat.com>
|
||||
uid Carlos Eduardo Maiolino <cem@kernel.org>
|
||||
sub ed25519 2022-05-27 [A]
|
||||
36C5DFE1ECA79D1D444FDD904E5621A566959599
|
||||
sub ed25519 2022-05-27 [S]
|
||||
FA406E206AFF7873897C6864B45618C36A24FD23
|
||||
sub cv25519 2022-05-27 [E]
|
||||
5AE98D09B21AFBDE62EE571EE01E05EA81B10D5C
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
IYeHCCMa/0oMret8Se/kwHhwULClxese2CDtCrZYjG23W+NXuGtehZUaP+MAFz6c
|
||||
dfqFhHU6YBKwS4kA0SrnwPvUplQ59Cybt2ZnGE+E2mFrDmWxSU0XjyqtcN20e9Qi
|
||||
I1YEUzaqnM3795rQ2M0ojCSCyMe9fCU/JW7PEUletC5DYXJsb3MgRWR1YXJkbyBN
|
||||
YWlvbGlubyA8Y21haW9saW5vQHJlZGhhdC5jb20+iJMEExYKADsCGwMFCwkIBwIC
|
||||
IgIGFQoJCAsCBBYCAwECHgcCF4AWIQRAIEWeWMGlJRH1OZET9wPmwRz28AUCYpEQ
|
||||
cwAKCRAT9wPmwRz28MxzAP48BnMnktHxFcO4KMe6mjjwNuGV0Nfz2w5qs5KUzc0i
|
||||
zAD/c1zW1wOIes86mZZU8oPtCeRRjtcPKqOQ2d61uAM55ACJAjMEEgEIAB0WIQQr
|
||||
gYWRno0kiYGGne0grhaS4T3e4AUCYqDMMAAKCRAgrhaS4T3e4NjzEACZA7iziscG
|
||||
HRTQkviyyd4hqpWaUXNG7S+6NAWfmbTXQYHQNN9LnMjKZ7S3xAilOdtNDR4pQsU+
|
||||
fj+++mbZ5cD41ey0/bAatdExgg2DwJ0LE89aWd6yIrayBs+fCWg/AAtuL94plORk
|
||||
/yjziM1Qn9eUiXO8+ttxbMinKevbdPuTp7dmXUuzVe2vZANp7qfssGJR32wMrZHG
|
||||
40p6YVqyw5CHd1ObU+uAXHJ7KSjx2D658jMvneoo6Zd2h5GmfnCYjyhAGuOzq9UC
|
||||
4JhzBQWRuf1j3YkzR2I0K5jLC/LsVAfp7F6llhHckH2GPM0urjWQXUgmyLWQJ1NM
|
||||
u/Je8vmXK7Pb4j+K8jWO4qrfIFISqCw2qXV0Txz+LcjMu6wLxvdnSbp5LzZGMw52
|
||||
rGF6UFAhibiaFO+Ydpp/rC/cyZPI9QK0Gt7IIclKUFL6kDE9pFa1HyBlY2X36lfa
|
||||
WCjnKF/grssL76XNOEQO9VVmlp1Gf24FYkLgGkmh6/EwyIu+CBSdUtz9TGEwPcn8
|
||||
mJK4fdjo0dHz//+nBIlhmkApnSiCVFVEAiuygK1qUTyzOnK1gcELzzwiscsWinxL
|
||||
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
|
||||
=n3Wp
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -1,185 +0,0 @@
|
|||
pub rsa4096 2011-11-03 [SC]
|
||||
2B8185919E8D248981869DED20AE1692E13DDEE0
|
||||
uid Eric R. Sandeen <sandeen@sandeen.net>
|
||||
uid Eric R. Sandeen <sandeen@redhat.com>
|
||||
sub rsa4096 2011-11-03 [E]
|
||||
048CA40C8F5B5507E3A6CD6BE2C297037B26BEB4
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
4NMMCC8gkONe4tek
|
||||
=EFoy
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -1,85 +0,0 @@
|
|||
--- xfsprogs-5.12.0.orig/man/man8/mkfs.xfs.8
|
||||
+++ xfsprogs-5.12.0/man/man8/mkfs.xfs.8
|
||||
@@ -203,7 +203,7 @@ December 1901 to January 2038, and quota
|
||||
.IP
|
||||
By default,
|
||||
.B mkfs.xfs
|
||||
-will not enable this feature.
|
||||
+in RHEL9 will enable this feature.
|
||||
If the option
|
||||
.B \-m crc=0
|
||||
is used, the large timestamp feature is not supported and is disabled.
|
||||
@@ -256,7 +256,7 @@ This can be used to reduce mount times w
|
||||
.IP
|
||||
By default,
|
||||
.B mkfs.xfs
|
||||
-will not enable this option.
|
||||
+in RHEL9 will enable this option.
|
||||
This feature is only available for filesystems created with the (default)
|
||||
.B \-m finobt=1
|
||||
option set.
|
||||
--- xfsprogs-5.12.0.orig/mkfs/xfs_mkfs.c
|
||||
+++ xfsprogs-5.12.0/mkfs/xfs_mkfs.c
|
||||
@@ -3795,6 +3797,23 @@ cfgfile_parse(
|
||||
cli->cfgfile);
|
||||
}
|
||||
|
||||
+static unsigned int get_system_kver(void)
|
||||
+{
|
||||
+ const char *kver = getenv("KVER");
|
||||
+ struct utsname utsname;
|
||||
+ int a, b, c;
|
||||
+
|
||||
+ if (!kver) {
|
||||
+ uname(&utsname);
|
||||
+ kver = utsname.release;
|
||||
+ }
|
||||
+
|
||||
+ if (sscanf(kver, "%d.%d.%d", &a, &b, &c) != 3)
|
||||
+ return LINUX_VERSION_CODE;
|
||||
+
|
||||
+ return KERNEL_VERSION(a,b,c);
|
||||
+}
|
||||
+
|
||||
int
|
||||
main(
|
||||
int argc,
|
||||
@@ -3848,17 +3867,25 @@ main(
|
||||
.spinodes = true,
|
||||
.rmapbt = false,
|
||||
.reflink = true,
|
||||
- .inobtcnt = false,
|
||||
+ .inobtcnt = true,
|
||||
.parent_pointers = false,
|
||||
.nodalign = false,
|
||||
.nortalign = false,
|
||||
- .bigtime = false,
|
||||
+ .bigtime = true,
|
||||
},
|
||||
};
|
||||
|
||||
struct list_head buffer_list;
|
||||
+ unsigned int kver;
|
||||
int error;
|
||||
|
||||
+ /* turn bigtime & inobtcnt back off if running under older kernels */
|
||||
+ kver = get_system_kver();
|
||||
+ if (kver < KERNEL_VERSION(5,10,0)) {
|
||||
+ dft.sb_feat.inobtcnt = false;
|
||||
+ dft.sb_feat.bigtime = false;
|
||||
+ }
|
||||
+
|
||||
platform_uuid_generate(&cli.uuid);
|
||||
progname = basename(argv[0]);
|
||||
setlocale(LC_ALL, "");
|
||||
--- xfsprogs-5.14.0/mkfs/xfs_mkfs.c.orig
|
||||
+++ xfsprogs-5.14.0/mkfs/xfs_mkfs.c
|
||||
@@ -12,6 +12,8 @@
|
||||
#include "libfrog/convert.h"
|
||||
#include "proto.h"
|
||||
#include <ini.h>
|
||||
+#include <linux/version.h>
|
||||
+#include <sys/utsname.h>
|
||||
|
||||
#define TERABYTES(count, blog) ((uint64_t)(count) << (40 - (blog)))
|
||||
#define GIGABYTES(count, blog) ((uint64_t)(count) << (30 - (blog)))
|
|
@ -1,17 +0,0 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.22 (GNU/Linux)
|
||||
|
||||
iQIcBAABAgAGBQJhrpYSAAoJECCuFpLhPd7gIH4P/1KdoaOWy77MqSmd5RWVN+D3
|
||||
PQTD4YIjPtpLnec/dnX8972jX+WeeT0ydkviOAE3J6gejlHa10S+5SvpXTQLl9Cm
|
||||
jDbNgLh7bV/mdH9H9RNmNM8xtCMufhO09BLt7O6MyXu1g3T+Np1kaG+hoNtS5oze
|
||||
fx7r/nh9ZCeCyMRTGrRlso5xNXL92qL9SkgbPWAtTjvvrcsaTkhNrC4o08tyv8BN
|
||||
oMeZU1IHSiiFXs4RlUtmzZKXVrWiWWJTVOdnb107qNAchghbOivqo9zuoxqtkl2R
|
||||
Yb3YQfYD7eyGVdXgY6CTGCnE9HEVE3sa/2MjZ1KTWP9ZK/F9gZT2izEF/dtbpV8G
|
||||
7IdKBpKda7tDKJcUw994HyUiZfYiHVqcTwcPDvK18fKqxd1khSKbhShc3nvjo4P2
|
||||
yGSGrDaOp8pkPc3QJrSMYQQAYVWtle9Y2Uj+TDMu8/XJi+pJxbxn5B7XtKlP6MWm
|
||||
5pNjA4mh3zX63D78NCWa/XimSFUpramlDI1LE9enaUidvdRMg6vMn8XYh4g0uGgP
|
||||
2Yp1F2Z2VGX0NxrulHowMqxGcgtneC5bZcsJ2GeZ4r6i+p8VIS5ZJjNLZ2p993c8
|
||||
w/32yLouC2j+pcKn3Ljwd2aPQBnGO5IK9CWn93PSG7kWvuN8S8RC0MoCH/a/xXCz
|
||||
Xbg1NICCCVKczfyFtQM7
|
||||
=J/Jr
|
||||
-----END PGP SIGNATURE-----
|
|
@ -0,0 +1,7 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iIQEABYIAC0WIQT6QG4gav94c4l8aGS0VhjDaiT9IwUCZGs+kg8cY2VtQGtlcm5l
|
||||
bC5vcmcACgkQtFYYw2ok/SO6wgEAgMdBBcJsx/oEPKLXGZr+ueGZ81K7hGq8ueFF
|
||||
sXp69AEA+PiK4Bh/angpo2lhftgZhGaOHxmj8vIyH2jJSw53LgE=
|
||||
=+kzW
|
||||
-----END PGP SIGNATURE-----
|
|
@ -0,0 +1,30 @@
|
|||
From 965f91091e4442ea74132aa0c3c6795d922bda8c Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Reichl <preichl@redhat.com>
|
||||
Date: Thu, 8 Jun 2023 11:13:20 +0200
|
||||
Subject: [PATCH] mkfs: fix man's default value for sparse option
|
||||
|
||||
Fixes: 9cf846b51 ("mkfs: enable sparse inodes by default")
|
||||
Suggested-by: Lukas Herbolt <lukas@herbolt.com>
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
|
||||
Signed-off-by: Carlos Maiolino <cem@kernel.org>
|
||||
---
|
||||
man/man8/mkfs.xfs.8.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/man/man8/mkfs.xfs.8.in b/man/man8/mkfs.xfs.8.in
|
||||
index 01f9dc6e..ce6f1e2d 100644
|
||||
--- a/man/man8/mkfs.xfs.8.in
|
||||
+++ b/man/man8/mkfs.xfs.8.in
|
||||
@@ -631,7 +631,7 @@ Enable sparse inode chunk allocation. The
|
||||
.I value
|
||||
is either 0 or 1, with 1 signifying that sparse allocation is enabled.
|
||||
If the value is omitted, 1 is assumed. Sparse inode allocation is
|
||||
-disabled by default. This feature is only available for filesystems
|
||||
+enabled by default. This feature is only available for filesystems
|
||||
formatted with
|
||||
.B \-m crc=1.
|
||||
.IP
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
From 7901c8c1a501de87c42bb1ed83456f99462538c6 Mon Sep 17 00:00:00 2001
|
||||
From: "Darrick J. Wong" <djwong@kernel.org>
|
||||
Date: Thu, 1 Jun 2023 11:41:10 +0200
|
||||
Subject: [PATCH] xfs: set bnobt/cntbt numrecs correctly when formatting new
|
||||
AGs
|
||||
|
||||
Source kernel commit: 8e698ee72c4ecbbf18264568eb310875839fd601
|
||||
|
||||
Through generic/300, I discovered that mkfs.xfs creates corrupt
|
||||
filesystems when given these parameters:
|
||||
|
||||
# mkfs.xfs -d size=512M /dev/sda -f -d su=128k,sw=4 --unsupported
|
||||
Filesystems formatted with --unsupported are not supported!!
|
||||
meta-data=/dev/sda isize=512 agcount=8, agsize=16352 blks
|
||||
= sectsz=512 attr=2, projid32bit=1
|
||||
= crc=1 finobt=1, sparse=1, rmapbt=1
|
||||
= reflink=1 bigtime=1 inobtcount=1 nrext64=1
|
||||
data = bsize=4096 blocks=130816, imaxpct=25
|
||||
= sunit=32 swidth=128 blks
|
||||
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
|
||||
log =internal log bsize=4096 blocks=8192, version=2
|
||||
= sectsz=512 sunit=32 blks, lazy-count=1
|
||||
realtime =none extsz=4096 blocks=0, rtextents=0
|
||||
= rgcount=0 rgsize=0 blks
|
||||
Discarding blocks...Done.
|
||||
# xfs_repair -n /dev/sda
|
||||
Phase 1 - find and verify superblock...
|
||||
- reporting progress in intervals of 15 minutes
|
||||
Phase 2 - using internal log
|
||||
- zero log...
|
||||
- 16:30:50: zeroing log - 16320 of 16320 blocks done
|
||||
- scan filesystem freespace and inode maps...
|
||||
agf_freeblks 25, counted 0 in ag 4
|
||||
sb_fdblocks 8823, counted 8798
|
||||
|
||||
The root cause of this problem is the numrecs handling in
|
||||
xfs_freesp_init_recs, which is used to initialize a new AG. Prior to
|
||||
calling the function, we set up the new bnobt block with numrecs == 1
|
||||
and rely on _freesp_init_recs to format that new record. If the last
|
||||
record created has a blockcount of zero, then it sets numrecs = 0.
|
||||
|
||||
That last bit isn't correct if the AG contains the log, the start of the
|
||||
log is not immediately after the initial blocks due to stripe alignment,
|
||||
and the end of the log is perfectly aligned with the end of the AG. For
|
||||
this case, we actually formatted a single bnobt record to handle the
|
||||
free space before the start of the (stripe aligned) log, and incremented
|
||||
arec to try to format a second record. That second record turned out to
|
||||
be unnecessary, so what we really want is to leave numrecs at 1.
|
||||
|
||||
The numrecs handling itself is overly complicated because a different
|
||||
function sets numrecs == 1. Change the bnobt creation code to start
|
||||
with numrecs set to zero and only increment it after successfully
|
||||
formatting a free space extent into the btree block.
|
||||
|
||||
Fixes: f327a00745ff ("xfs: account for log space when formatting new AGs")
|
||||
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
|
||||
Reviewed-by: Dave Chinner <dchinner@redhat.com>
|
||||
Signed-off-by: Dave Chinner <david@fromorbit.com>
|
||||
Signed-off-by: Carlos Maiolino <cem@kernel.org>
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
libxfs/xfs_ag.c | 19 +++++++++----------
|
||||
1 file changed, 9 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/libxfs/xfs_ag.c b/libxfs/xfs_ag.c
|
||||
index e3465e06..5d269312 100644
|
||||
--- a/libxfs/xfs_ag.c
|
||||
+++ b/libxfs/xfs_ag.c
|
||||
@@ -493,10 +493,12 @@ xfs_freesp_init_recs(
|
||||
ASSERT(start >= mp->m_ag_prealloc_blocks);
|
||||
if (start != mp->m_ag_prealloc_blocks) {
|
||||
/*
|
||||
- * Modify first record to pad stripe align of log
|
||||
+ * Modify first record to pad stripe align of log and
|
||||
+ * bump the record count.
|
||||
*/
|
||||
arec->ar_blockcount = cpu_to_be32(start -
|
||||
mp->m_ag_prealloc_blocks);
|
||||
+ be16_add_cpu(&block->bb_numrecs, 1);
|
||||
nrec = arec + 1;
|
||||
|
||||
/*
|
||||
@@ -507,7 +509,6 @@ xfs_freesp_init_recs(
|
||||
be32_to_cpu(arec->ar_startblock) +
|
||||
be32_to_cpu(arec->ar_blockcount));
|
||||
arec = nrec;
|
||||
- be16_add_cpu(&block->bb_numrecs, 1);
|
||||
}
|
||||
/*
|
||||
* Change record start to after the internal log
|
||||
@@ -516,15 +517,13 @@ xfs_freesp_init_recs(
|
||||
}
|
||||
|
||||
/*
|
||||
- * Calculate the record block count and check for the case where
|
||||
- * the log might have consumed all available space in the AG. If
|
||||
- * so, reset the record count to 0 to avoid exposure of an invalid
|
||||
- * record start block.
|
||||
+ * Calculate the block count of this record; if it is nonzero,
|
||||
+ * increment the record count.
|
||||
*/
|
||||
arec->ar_blockcount = cpu_to_be32(id->agsize -
|
||||
be32_to_cpu(arec->ar_startblock));
|
||||
- if (!arec->ar_blockcount)
|
||||
- block->bb_numrecs = 0;
|
||||
+ if (arec->ar_blockcount)
|
||||
+ be16_add_cpu(&block->bb_numrecs, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -536,7 +535,7 @@ xfs_bnoroot_init(
|
||||
struct xfs_buf *bp,
|
||||
struct aghdr_init_data *id)
|
||||
{
|
||||
- xfs_btree_init_block(mp, bp, XFS_BTNUM_BNO, 0, 1, id->agno);
|
||||
+ xfs_btree_init_block(mp, bp, XFS_BTNUM_BNO, 0, 0, id->agno);
|
||||
xfs_freesp_init_recs(mp, bp, id);
|
||||
}
|
||||
|
||||
@@ -546,7 +545,7 @@ xfs_cntroot_init(
|
||||
struct xfs_buf *bp,
|
||||
struct aghdr_init_data *id)
|
||||
{
|
||||
- xfs_btree_init_block(mp, bp, XFS_BTNUM_CNT, 0, 1, id->agno);
|
||||
+ xfs_btree_init_block(mp, bp, XFS_BTNUM_CNT, 0, 0, id->agno);
|
||||
xfs_freesp_init_recs(mp, bp, id);
|
||||
}
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
From bd970a7390d9af5ce859397a6c368d2465368d76 Mon Sep 17 00:00:00 2001
|
||||
From: "Darrick J. Wong" <djwong@kernel.org>
|
||||
Date: Wed, 31 May 2023 11:13:21 +0200
|
||||
Subject: [PATCH] xfs: stabilize the dirent name transformation function used
|
||||
for ascii-ci dir hash computation
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Source kernel commit: a9248538facc3d9e769489e50a544509c2f9cebe
|
||||
|
||||
Back in the old days, the "ascii-ci" feature was created to implement
|
||||
case-insensitive directory entry lookups for latin1-encoded names and
|
||||
remove the large overhead of Samba's case-insensitive lookup code. UTF8
|
||||
names were not allowed, but nobody explicitly wrote in the documentation
|
||||
that this was only expected to work if the system used latin1 names.
|
||||
The kernel tolower function was selected to prepare names for hashed
|
||||
lookups.
|
||||
|
||||
There's a major discrepancy in the function that computes directory entry
|
||||
hashes for filesystems that have ASCII case-insensitive lookups enabled.
|
||||
The root of this is that the kernel and glibc's tolower implementations
|
||||
have differing behavior for extended ASCII accented characters. I wrote
|
||||
a program to spit out characters for which the tolower() return value is
|
||||
different from the input:
|
||||
|
||||
glibc tolower:
|
||||
65:A 66:B 67:C 68:D 69:E 70:F 71:G 72:H 73:I 74:J 75:K 76:L 77:M 78:N
|
||||
79:O 80:P 81:Q 82:R 83:S 84:T 85:U 86:V 87:W 88:X 89:Y 90:Z
|
||||
|
||||
kernel tolower:
|
||||
65:A 66:B 67:C 68:D 69:E 70:F 71:G 72:H 73:I 74:J 75:K 76:L 77:M 78:N
|
||||
79:O 80:P 81:Q 82:R 83:S 84:T 85:U 86:V 87:W 88:X 89:Y 90:Z 192:À 193:Á
|
||||
194:Â 195:Ã 196:Ä 197:Å 198:Æ 199:Ç 200:È 201:É 202:Ê 203:Ë 204:Ì 205:Í
|
||||
206:Î 207:Ï 208:Ð 209:Ñ 210:Ò 211:Ó 212:Ô 213:Õ 214:Ö 215:× 216:Ø 217:Ù
|
||||
218:Ú 219:Û 220:Ü 221:Ý 222:Þ
|
||||
|
||||
Which means that the kernel and userspace do not agree on the hash value
|
||||
for a directory filename that contains those higher values. The hash
|
||||
values are written into the leaf index block of directories that are
|
||||
larger than two blocks in size, which means that xfs_repair will flag
|
||||
these directories as having corrupted hash indexes and rewrite the index
|
||||
with hash values that the kernel now will not recognize.
|
||||
|
||||
Because the ascii-ci feature is not frequently enabled and the kernel
|
||||
touches filesystems far more frequently than xfs_repair does, fix this
|
||||
by encoding the kernel's toupper predicate and tolower functions into
|
||||
libxfs. Give the new functions less provocative names to make it really
|
||||
obvious that this is a pre-hash name preparation function, and nothing
|
||||
else. This change makes userspace's behavior consistent with the
|
||||
kernel.
|
||||
|
||||
Found by auditing obfuscate_name in xfs_metadump as part of working on
|
||||
parent pointers, wondering how it could possibly work correctly with ci
|
||||
filesystems, writing a test tool to create a directory with
|
||||
hash-colliding names, and watching xfs_repair flag it.
|
||||
|
||||
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
|
||||
Reviewed-by: Christoph Hellwig <hch@lst.de>
|
||||
Signed-off-by: Carlos Maiolino <cem@kernel.org>
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
libxfs/xfs_dir2.c | 5 +++--
|
||||
libxfs/xfs_dir2.h | 31 +++++++++++++++++++++++++++++++
|
||||
2 files changed, 34 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libxfs/xfs_dir2.c b/libxfs/xfs_dir2.c
|
||||
index d6a19296..c19684b3 100644
|
||||
--- a/libxfs/xfs_dir2.c
|
||||
+++ b/libxfs/xfs_dir2.c
|
||||
@@ -63,7 +63,7 @@ xfs_ascii_ci_hashname(
|
||||
int i;
|
||||
|
||||
for (i = 0, hash = 0; i < name->len; i++)
|
||||
- hash = tolower(name->name[i]) ^ rol32(hash, 7);
|
||||
+ hash = xfs_ascii_ci_xfrm(name->name[i]) ^ rol32(hash, 7);
|
||||
|
||||
return hash;
|
||||
}
|
||||
@@ -84,7 +84,8 @@ xfs_ascii_ci_compname(
|
||||
for (i = 0; i < len; i++) {
|
||||
if (args->name[i] == name[i])
|
||||
continue;
|
||||
- if (tolower(args->name[i]) != tolower(name[i]))
|
||||
+ if (xfs_ascii_ci_xfrm(args->name[i]) !=
|
||||
+ xfs_ascii_ci_xfrm(name[i]))
|
||||
return XFS_CMP_DIFFERENT;
|
||||
result = XFS_CMP_CASE;
|
||||
}
|
||||
diff --git a/libxfs/xfs_dir2.h b/libxfs/xfs_dir2.h
|
||||
index dd39f17d..19af22a1 100644
|
||||
--- a/libxfs/xfs_dir2.h
|
||||
+++ b/libxfs/xfs_dir2.h
|
||||
@@ -248,4 +248,35 @@ unsigned int xfs_dir3_data_end_offset(struct xfs_da_geometry *geo,
|
||||
struct xfs_dir2_data_hdr *hdr);
|
||||
bool xfs_dir2_namecheck(const void *name, size_t length);
|
||||
|
||||
+/*
|
||||
+ * The "ascii-ci" feature was created to speed up case-insensitive lookups for
|
||||
+ * a Samba product. Because of the inherent problems with CI and UTF-8
|
||||
+ * encoding, etc, it was decided that Samba would be configured to export
|
||||
+ * latin1/iso 8859-1 encodings as that covered >90% of the target markets for
|
||||
+ * the product. Hence the "ascii-ci" casefolding code could be encoded into
|
||||
+ * the XFS directory operations and remove all the overhead of casefolding from
|
||||
+ * Samba.
|
||||
+ *
|
||||
+ * To provide consistent hashing behavior between the userspace and kernel,
|
||||
+ * these functions prepare names for hashing by transforming specific bytes
|
||||
+ * to other bytes. Robustness with other encodings is not guaranteed.
|
||||
+ */
|
||||
+static inline bool xfs_ascii_ci_need_xfrm(unsigned char c)
|
||||
+{
|
||||
+ if (c >= 0x41 && c <= 0x5a) /* A-Z */
|
||||
+ return true;
|
||||
+ if (c >= 0xc0 && c <= 0xd6) /* latin A-O with accents */
|
||||
+ return true;
|
||||
+ if (c >= 0xd8 && c <= 0xde) /* latin O-Y with accents */
|
||||
+ return true;
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+static inline unsigned char xfs_ascii_ci_xfrm(unsigned char c)
|
||||
+{
|
||||
+ if (xfs_ascii_ci_need_xfrm(c))
|
||||
+ c -= 'A' - 'a';
|
||||
+ return c;
|
||||
+}
|
||||
+
|
||||
#endif /* __XFS_DIR2_H__ */
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
From 10a01bcdd748773c185255516a72e75a71295bd4 Mon Sep 17 00:00:00 2001
|
||||
From: "Darrick J. Wong" <djwong@kernel.org>
|
||||
Date: Thu, 15 Jun 2023 09:11:04 -0700
|
||||
Subject: [PATCH] xfs_db: fix metadump name obfuscation for ascii-ci
|
||||
filesystems
|
||||
|
||||
Now that we've stabilized the dirent hash function for ascii-ci
|
||||
filesystems, adapt the metadump name obfuscation code to detect when
|
||||
it's obfuscating a directory entry name on an ascii-ci filesystem and
|
||||
spit out names that actually have the same hash.
|
||||
|
||||
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
|
||||
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
|
||||
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
|
||||
Signed-off-by: Carlos Maiolino <cem@kernel.org>
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
db/metadump.c | 82 +++++++++++++++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 73 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/db/metadump.c b/db/metadump.c
|
||||
index 317ff728..9ccee0b7 100644
|
||||
--- a/db/metadump.c
|
||||
+++ b/db/metadump.c
|
||||
@@ -817,13 +817,17 @@ static void
|
||||
obfuscate_name(
|
||||
xfs_dahash_t hash,
|
||||
size_t name_len,
|
||||
- unsigned char *name)
|
||||
+ unsigned char *name,
|
||||
+ bool is_dirent)
|
||||
{
|
||||
- unsigned char *newp = name;
|
||||
+ unsigned char *oldname = NULL;
|
||||
+ unsigned char *newp;
|
||||
int i;
|
||||
- xfs_dahash_t new_hash = 0;
|
||||
+ xfs_dahash_t new_hash;
|
||||
unsigned char *first;
|
||||
unsigned char high_bit;
|
||||
+ int tries = 0;
|
||||
+ bool is_ci_name = is_dirent && xfs_has_asciici(mp);
|
||||
int shift;
|
||||
|
||||
/*
|
||||
@@ -836,6 +840,26 @@ obfuscate_name(
|
||||
if (name_len < 5)
|
||||
return;
|
||||
|
||||
+ if (is_ci_name) {
|
||||
+ oldname = malloc(name_len);
|
||||
+ if (!oldname)
|
||||
+ return;
|
||||
+ memcpy(oldname, name, name_len);
|
||||
+ }
|
||||
+
|
||||
+again:
|
||||
+ newp = name;
|
||||
+ new_hash = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * If we cannot generate a ci-compatible obfuscated name after 1000
|
||||
+ * tries, don't bother obfuscating the name.
|
||||
+ */
|
||||
+ if (tries++ > 1000) {
|
||||
+ memcpy(name, oldname, name_len);
|
||||
+ goto out_free;
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* The beginning of the obfuscated name can be pretty much
|
||||
* anything, so fill it in with random characters.
|
||||
@@ -843,7 +867,11 @@ obfuscate_name(
|
||||
*/
|
||||
for (i = 0; i < name_len - 5; i++) {
|
||||
*newp = random_filename_char();
|
||||
- new_hash = *newp ^ rol32(new_hash, 7);
|
||||
+ if (is_ci_name)
|
||||
+ new_hash = xfs_ascii_ci_xfrm(*newp) ^
|
||||
+ rol32(new_hash, 7);
|
||||
+ else
|
||||
+ new_hash = *newp ^ rol32(new_hash, 7);
|
||||
newp++;
|
||||
}
|
||||
|
||||
@@ -867,6 +895,17 @@ obfuscate_name(
|
||||
high_bit = 0x80;
|
||||
} else
|
||||
high_bit = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * If ascii-ci is enabled, uppercase characters are converted
|
||||
+ * to lowercase characters while computing the name hash. If
|
||||
+ * any of the necessary correction bytes are uppercase, the
|
||||
+ * hash of the new name will not match. Try again with a
|
||||
+ * different prefix.
|
||||
+ */
|
||||
+ if (is_ci_name && xfs_ascii_ci_need_xfrm(*newp))
|
||||
+ goto again;
|
||||
+
|
||||
ASSERT(!is_invalid_char(*newp));
|
||||
newp++;
|
||||
}
|
||||
@@ -880,8 +919,15 @@ obfuscate_name(
|
||||
*/
|
||||
if (high_bit) {
|
||||
*first ^= 0x10;
|
||||
+
|
||||
+ if (is_ci_name && xfs_ascii_ci_need_xfrm(*first))
|
||||
+ goto again;
|
||||
+
|
||||
ASSERT(!is_invalid_char(*first));
|
||||
}
|
||||
+
|
||||
+out_free:
|
||||
+ free(oldname);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1177,6 +1223,24 @@ handle_duplicate_name(xfs_dahash_t hash, size_t name_len, unsigned char *name)
|
||||
return 1;
|
||||
}
|
||||
|
||||
+static inline xfs_dahash_t
|
||||
+dirattr_hashname(
|
||||
+ bool is_dirent,
|
||||
+ const uint8_t *name,
|
||||
+ int namelen)
|
||||
+{
|
||||
+ if (is_dirent) {
|
||||
+ struct xfs_name xname = {
|
||||
+ .name = name,
|
||||
+ .len = namelen,
|
||||
+ };
|
||||
+
|
||||
+ return libxfs_dir2_hashname(mp, &xname);
|
||||
+ }
|
||||
+
|
||||
+ return libxfs_da_hashname(name, namelen);
|
||||
+}
|
||||
+
|
||||
static void
|
||||
generate_obfuscated_name(
|
||||
xfs_ino_t ino,
|
||||
@@ -1205,9 +1269,9 @@ generate_obfuscated_name(
|
||||
|
||||
/* Obfuscate the name (if possible) */
|
||||
|
||||
- hash = libxfs_da_hashname(name, namelen);
|
||||
- obfuscate_name(hash, namelen, name);
|
||||
- ASSERT(hash == libxfs_da_hashname(name, namelen));
|
||||
+ hash = dirattr_hashname(ino != 0, name, namelen);
|
||||
+ obfuscate_name(hash, namelen, name, ino != 0);
|
||||
+ ASSERT(hash == dirattr_hashname(ino != 0, name, namelen));
|
||||
|
||||
/*
|
||||
* Make sure the name is not something already seen. If we
|
||||
@@ -1320,7 +1384,7 @@ obfuscate_path_components(
|
||||
/* last (or single) component */
|
||||
namelen = strnlen((char *)comp, len);
|
||||
hash = libxfs_da_hashname(comp, namelen);
|
||||
- obfuscate_name(hash, namelen, comp);
|
||||
+ obfuscate_name(hash, namelen, comp, false);
|
||||
ASSERT(hash == libxfs_da_hashname(comp, namelen));
|
||||
break;
|
||||
}
|
||||
@@ -1332,7 +1396,7 @@ obfuscate_path_components(
|
||||
continue;
|
||||
}
|
||||
hash = libxfs_da_hashname(comp, namelen);
|
||||
- obfuscate_name(hash, namelen, comp);
|
||||
+ obfuscate_name(hash, namelen, comp, false);
|
||||
ASSERT(hash == libxfs_da_hashname(comp, namelen));
|
||||
comp += namelen + 1;
|
||||
len -= namelen + 1;
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
From cb8c70b017e30d4004373300bce488a9687166ac Mon Sep 17 00:00:00 2001
|
||||
From: "Darrick J. Wong" <djwong@kernel.org>
|
||||
Date: Mon, 5 Jun 2023 08:36:38 -0700
|
||||
Subject: [PATCH] xfs_db: move obfuscate_name assertion to callers
|
||||
|
||||
Currently, obfuscate_name asserts that the hash of the new name is the
|
||||
same as the old name. To enable bug fixes in the next patch, move this
|
||||
assertion to the callers.
|
||||
|
||||
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
|
||||
Reviewed-by: Christoph Hellwig <hch@lst.de>
|
||||
Signed-off-by: Carlos Maiolino <cem@kernel.org>
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
db/metadump.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/db/metadump.c b/db/metadump.c
|
||||
index 27d1df43..317ff728 100644
|
||||
--- a/db/metadump.c
|
||||
+++ b/db/metadump.c
|
||||
@@ -882,7 +882,6 @@ obfuscate_name(
|
||||
*first ^= 0x10;
|
||||
ASSERT(!is_invalid_char(*first));
|
||||
}
|
||||
- ASSERT(libxfs_da_hashname(name, name_len) == hash);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1208,6 +1207,7 @@ generate_obfuscated_name(
|
||||
|
||||
hash = libxfs_da_hashname(name, namelen);
|
||||
obfuscate_name(hash, namelen, name);
|
||||
+ ASSERT(hash == libxfs_da_hashname(name, namelen));
|
||||
|
||||
/*
|
||||
* Make sure the name is not something already seen. If we
|
||||
@@ -1321,6 +1321,7 @@ obfuscate_path_components(
|
||||
namelen = strnlen((char *)comp, len);
|
||||
hash = libxfs_da_hashname(comp, namelen);
|
||||
obfuscate_name(hash, namelen, comp);
|
||||
+ ASSERT(hash == libxfs_da_hashname(comp, namelen));
|
||||
break;
|
||||
}
|
||||
namelen = slash - (char *)comp;
|
||||
@@ -1332,6 +1333,7 @@ obfuscate_path_components(
|
||||
}
|
||||
hash = libxfs_da_hashname(comp, namelen);
|
||||
obfuscate_name(hash, namelen, comp);
|
||||
+ ASSERT(hash == libxfs_da_hashname(comp, namelen));
|
||||
comp += namelen + 1;
|
||||
len -= namelen + 1;
|
||||
}
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
From aca02624815ca47c6fd4cafdb0aeaad641ca1915 Mon Sep 17 00:00:00 2001
|
||||
From: "Darrick J. Wong" <djwong@kernel.org>
|
||||
Date: Mon, 5 Jun 2023 08:37:24 -0700
|
||||
Subject: [PATCH] xfs_repair: don't add junked entries to the rebuilt directory
|
||||
|
||||
If a directory contains multiple entries with the same name, we create
|
||||
separate objects in the directory hashtab for each dirent. The first
|
||||
one has p->junkit==0, but the subsequent ones have p->junkit==1.
|
||||
Because these are duplicate names that are not garbage, the first
|
||||
character of p->name.name is not set to a slash.
|
||||
|
||||
Don't add these subsequent hashtab entries to the rebuilt directory.
|
||||
|
||||
Found by running xfs/155 with the parent pointers patchset enabled.
|
||||
|
||||
Fixes: 33165ec3b4b ("Fix dirv2 rebuild in phase6 Merge of master-melb:xfs-cmds:26664a by kenmcd.")
|
||||
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
|
||||
Reviewed-by: Pavel Reichl <preichl@redhat.com>
|
||||
Signed-off-by: Carlos Maiolino <cem@kernel.org>
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
repair/phase6.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/repair/phase6.c b/repair/phase6.c
|
||||
index 25bbcd10..3870c5c9 100644
|
||||
--- a/repair/phase6.c
|
||||
+++ b/repair/phase6.c
|
||||
@@ -1316,7 +1316,8 @@ longform_dir2_rebuild(
|
||||
/* go through the hash list and re-add the inodes */
|
||||
|
||||
for (p = hashtab->first; p; p = p->nextbyorder) {
|
||||
-
|
||||
+ if (p->junkit)
|
||||
+ continue;
|
||||
if (p->name.name[0] == '/' || (p->name.name[0] == '.' &&
|
||||
(p->name.len == 1 || (p->name.len == 2 &&
|
||||
p->name.name[1] == '.'))))
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
From 67f541056f4dd3ba1ccc5d11464d67afdab0f2a3 Mon Sep 17 00:00:00 2001
|
||||
From: "Darrick J. Wong" <djwong@kernel.org>
|
||||
Date: Mon, 5 Jun 2023 08:37:39 -0700
|
||||
Subject: [PATCH] xfs_repair: don't spray correcting imap all by itself
|
||||
|
||||
In xfs/155, I occasionally see this in the xfs_repair output:
|
||||
|
||||
correcting imap
|
||||
correcting imap
|
||||
correcting imap
|
||||
...
|
||||
|
||||
This is completely useless, since we don't actually log which inode
|
||||
prompted this message. This logic has been here for a really long time,
|
||||
but ... I can't make heads nor tails of it. If we're running in verbose
|
||||
or dry-run mode, then print the inode number, but not if we're running
|
||||
in fixit mode?
|
||||
|
||||
A few lines later, if we're running in verbose dry-run mode, we print
|
||||
"correcting imap" even though we're not going to write anything.
|
||||
|
||||
If we get here, the inode looks like it's in use, but the inode index
|
||||
says it isn't. This is a corruption, so either we fix it or we say that
|
||||
we would fix it.
|
||||
|
||||
Fixes: 6c39a3cbda3 ("Don't trash lost+found in phase 4 Merge of master-melb:xfs-cmds:29144a by kenmcd.")
|
||||
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
|
||||
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
|
||||
Signed-off-by: Carlos Maiolino <cem@kernel.org>
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
repair/dino_chunks.c | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/repair/dino_chunks.c b/repair/dino_chunks.c
|
||||
index 0e09132b..0841e65b 100644
|
||||
--- a/repair/dino_chunks.c
|
||||
+++ b/repair/dino_chunks.c
|
||||
@@ -871,13 +871,11 @@ next_readbuf:
|
||||
*/
|
||||
if (is_used) {
|
||||
if (is_inode_free(ino_rec, irec_offset)) {
|
||||
- if (verbose || no_modify) {
|
||||
- do_warn(
|
||||
+ do_warn(
|
||||
_("imap claims in-use inode %" PRIu64 " is free, "),
|
||||
ino);
|
||||
- }
|
||||
|
||||
- if (verbose || !no_modify)
|
||||
+ if (!no_modify)
|
||||
do_warn(_("correcting imap\n"));
|
||||
else
|
||||
do_warn(_("would correct imap\n"));
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
From 1e12a0751b99efd48cda501258e16f00bef9d13d Mon Sep 17 00:00:00 2001
|
||||
From: "Darrick J. Wong" <djwong@kernel.org>
|
||||
Date: Mon, 5 Jun 2023 08:38:01 -0700
|
||||
Subject: [PATCH] xfs_repair: fix messaging when fixing imap due to sparse
|
||||
cluster
|
||||
|
||||
This logic is wrong -- if we're in verbose dry-run mode, we do NOT want
|
||||
to say that we're correcting the imap. Otherwise, we print things like:
|
||||
|
||||
imap claims inode XXX is present, but inode cluster is sparse,
|
||||
|
||||
But then we can erroneously tell the user that we would correct the
|
||||
imap when in fact we /are/ correcting it.
|
||||
|
||||
Fixes: f4ff8086586 ("xfs_repair: don't crash on partially sparse inode clusters")
|
||||
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
|
||||
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
|
||||
Signed-off-by: Carlos Maiolino <cem@kernel.org>
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
repair/dino_chunks.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/repair/dino_chunks.c b/repair/dino_chunks.c
|
||||
index 0841e65b1844..64ce2a323c8d 100644
|
||||
--- a/repair/dino_chunks.c
|
||||
+++ b/repair/dino_chunks.c
|
||||
@@ -834,7 +834,7 @@ next_readbuf:
|
||||
do_warn(
|
||||
_("imap claims inode %" PRIu64 " is present, but inode cluster is sparse, "),
|
||||
ino);
|
||||
- if (verbose || !no_modify)
|
||||
+ if (!no_modify)
|
||||
do_warn(_("correcting imap\n"));
|
||||
else
|
||||
do_warn(_("would correct imap\n"));
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
From d159552bbb05de6998388b960f50e5e0012828ea Mon Sep 17 00:00:00 2001
|
||||
From: "Darrick J. Wong" <djwong@kernel.org>
|
||||
Date: Mon, 5 Jun 2023 08:37:50 -0700
|
||||
Subject: [PATCH] xfs_repair: fix messaging when shortform_dir2_junk is called
|
||||
|
||||
This function is called when we've decide to junk a shortform directory
|
||||
entry. This is obviously corruption of some kind, so we should always
|
||||
say something, particularly if we're in !verbose repair mode.
|
||||
Otherwise, if we're in non-verbose repair mode, we print things like:
|
||||
|
||||
entry "FOO" in shortform directory XXX references non-existent inode YYY
|
||||
|
||||
Without telling the sysadmin that we're removing the dirent.
|
||||
|
||||
Fixes: aaca101b1ae ("xfs_repair: add support for validating dirent ftype field")
|
||||
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
|
||||
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
|
||||
Signed-off-by: Carlos Maiolino <cem@kernel.org>
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
repair/phase6.c | 17 +++++++----------
|
||||
1 file changed, 7 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/repair/phase6.c b/repair/phase6.c
|
||||
index c6418534..be10d9b7 100644
|
||||
--- a/repair/phase6.c
|
||||
+++ b/repair/phase6.c
|
||||
@@ -2440,10 +2440,7 @@ shortform_dir2_junk(
|
||||
*/
|
||||
(*index)--;
|
||||
|
||||
- if (verbose)
|
||||
- do_warn(_("junking entry\n"));
|
||||
- else
|
||||
- do_warn("\n");
|
||||
+ do_warn(_("junking entry\n"));
|
||||
return sfep;
|
||||
}
|
||||
|
||||
@@ -2592,7 +2589,7 @@ shortform_dir2_entry_check(
|
||||
|
||||
if (irec == NULL) {
|
||||
do_warn(
|
||||
- _("entry \"%s\" in shortform directory %" PRIu64 " references non-existent inode %" PRIu64 "\n"),
|
||||
+ _("entry \"%s\" in shortform directory %" PRIu64 " references non-existent inode %" PRIu64 ", "),
|
||||
fname, ino, lino);
|
||||
next_sfep = shortform_dir2_junk(mp, sfp, sfep, lino,
|
||||
&max_size, &i, &bytes_deleted,
|
||||
@@ -2609,7 +2606,7 @@ shortform_dir2_entry_check(
|
||||
*/
|
||||
if (is_inode_free(irec, ino_offset)) {
|
||||
do_warn(
|
||||
- _("entry \"%s\" in shortform directory inode %" PRIu64 " points to free inode %" PRIu64 "\n"),
|
||||
+ _("entry \"%s\" in shortform directory inode %" PRIu64 " points to free inode %" PRIu64 ", "),
|
||||
fname, ino, lino);
|
||||
next_sfep = shortform_dir2_junk(mp, sfp, sfep, lino,
|
||||
&max_size, &i, &bytes_deleted,
|
||||
@@ -2625,7 +2622,7 @@ shortform_dir2_entry_check(
|
||||
*/
|
||||
if (!inode_isadir(irec, ino_offset)) {
|
||||
do_warn(
|
||||
- _("%s (ino %" PRIu64 ") in root (%" PRIu64 ") is not a directory"),
|
||||
+ _("%s (ino %" PRIu64 ") in root (%" PRIu64 ") is not a directory, "),
|
||||
ORPHANAGE, lino, ino);
|
||||
next_sfep = shortform_dir2_junk(mp, sfp, sfep,
|
||||
lino, &max_size, &i,
|
||||
@@ -2647,7 +2644,7 @@ shortform_dir2_entry_check(
|
||||
lino, sfep->namelen, sfep->name,
|
||||
libxfs_dir2_sf_get_ftype(mp, sfep))) {
|
||||
do_warn(
|
||||
-_("entry \"%s\" (ino %" PRIu64 ") in dir %" PRIu64 " is a duplicate name"),
|
||||
+_("entry \"%s\" (ino %" PRIu64 ") in dir %" PRIu64 " is a duplicate name, "),
|
||||
fname, lino, ino);
|
||||
next_sfep = shortform_dir2_junk(mp, sfp, sfep, lino,
|
||||
&max_size, &i, &bytes_deleted,
|
||||
@@ -2672,7 +2669,7 @@ _("entry \"%s\" (ino %" PRIu64 ") in dir %" PRIu64 " is a duplicate name"),
|
||||
if (is_inode_reached(irec, ino_offset)) {
|
||||
do_warn(
|
||||
_("entry \"%s\" in directory inode %" PRIu64
|
||||
- " references already connected inode %" PRIu64 ".\n"),
|
||||
+ " references already connected inode %" PRIu64 ", "),
|
||||
fname, ino, lino);
|
||||
next_sfep = shortform_dir2_junk(mp, sfp, sfep,
|
||||
lino, &max_size, &i,
|
||||
@@ -2696,7 +2693,7 @@ _("entry \"%s\" (ino %" PRIu64 ") in dir %" PRIu64 " is a duplicate name"),
|
||||
do_warn(
|
||||
_("entry \"%s\" in directory inode %" PRIu64
|
||||
" not consistent with .. value (%" PRIu64
|
||||
- ") in inode %" PRIu64 ",\n"),
|
||||
+ ") in inode %" PRIu64 ", "),
|
||||
fname, ino, parent, lino);
|
||||
next_sfep = shortform_dir2_junk(mp, sfp, sfep,
|
||||
lino, &max_size, &i,
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
From 780e93c5103d3c19d53c36ab7f4794d14912f3a5 Mon Sep 17 00:00:00 2001
|
||||
From: Bill O'Donnell <bodonnel@redhat.com>
|
||||
Date: Fri, 28 Jul 2023 17:20:17 -0500
|
||||
Subject: [PATCH] mkfs.xfs.8: correction on mkfs.xfs manpage since reflink and
|
||||
dax are compatible
|
||||
|
||||
Merged early in 2023: Commit 480017957d638 xfs: remove restrictions for fsdax
|
||||
and reflink. There needs to be a corresponding change to the mkfs.xfs manpage
|
||||
to remove the incompatiblity statement.
|
||||
|
||||
Signed-off-by: Bill O'Donnell <bodonnel@redhat.com>
|
||||
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
|
||||
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
man/man8/mkfs.xfs.8.in | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/man/man8/mkfs.xfs.8.in b/man/man8/mkfs.xfs.8.in
|
||||
index ce6f1e2d..08bb92f6 100644
|
||||
--- a/man/man8/mkfs.xfs.8.in
|
||||
+++ b/man/man8/mkfs.xfs.8.in
|
||||
@@ -323,13 +323,6 @@ option set. When the option
|
||||
.B \-m crc=0
|
||||
is used, the reference count btree feature is not supported and reflink is
|
||||
disabled.
|
||||
-.IP
|
||||
-Note: the filesystem DAX mount option (
|
||||
-.B \-o dax
|
||||
-) is incompatible with
|
||||
-reflink-enabled XFS filesystems. To use filesystem DAX with XFS, specify the
|
||||
-.B \-m reflink=0
|
||||
-option to mkfs.xfs to disable the reflink feature.
|
||||
.RE
|
||||
.PP
|
||||
.PD 0
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
--- a/mkfs/xfs_mkfs.c.orig 2022-08-12 20:38:21.000000000 +0200
|
||||
+++ b/mkfs/xfs_mkfs.c 2023-01-25 11:06:01.863076713 +0100
|
||||
@@ -13,6 +13,8 @@
|
||||
#include "libfrog/dahashselftest.h"
|
||||
#include "proto.h"
|
||||
#include <ini.h>
|
||||
+#include <linux/version.h>
|
||||
+#include <sys/utsname.h>
|
||||
|
||||
#define TERABYTES(count, blog) ((uint64_t)(count) << (40 - (blog)))
|
||||
#define GIGABYTES(count, blog) ((uint64_t)(count) << (30 - (blog)))
|
||||
@@ -3998,6 +4000,23 @@
|
||||
cli->cfgfile);
|
||||
}
|
||||
|
||||
+static unsigned int get_system_kver(void)
|
||||
+{
|
||||
+ const char *kver = getenv("KVER");
|
||||
+ struct utsname utsname;
|
||||
+ int a, b, c;
|
||||
+
|
||||
+ if (!kver) {
|
||||
+ uname(&utsname);
|
||||
+ kver = utsname.release;
|
||||
+ }
|
||||
+
|
||||
+ if (sscanf(kver, "%d.%d.%d", &a, &b, &c) != 3)
|
||||
+ return LINUX_VERSION_CODE;
|
||||
+
|
||||
+ return KERNEL_VERSION(a,b,c);
|
||||
+}
|
||||
+
|
||||
int
|
||||
main(
|
||||
int argc,
|
||||
@@ -4077,8 +4096,16 @@
|
||||
};
|
||||
|
||||
struct list_head buffer_list;
|
||||
+ unsigned int kver;
|
||||
int error;
|
||||
|
||||
+ /* turn bigtime & inobtcnt back off if running under older kernels */
|
||||
+ kver = get_system_kver();
|
||||
+ if (kver < KERNEL_VERSION(5,10,0)) {
|
||||
+ dft.sb_feat.inobtcnt = false;
|
||||
+ dft.sb_feat.bigtime = false;
|
||||
+ }
|
||||
+
|
||||
platform_uuid_generate(&cli.uuid);
|
||||
progname = basename(argv[0]);
|
||||
setlocale(LC_ALL, "");
|
|
@ -1,5 +1,5 @@
|
|||
--- xfsprogs-5.12.0/man/man8/mkfs.xfs.8.backup 2021-12-01 20:48:09.241170607 +0100
|
||||
+++ xfsprogs-5.12.0/man/man8/mkfs.xfs.8 2021-12-03 15:34:32.382616819 +0100
|
||||
--- a/man/man8/mkfs.xfs.8.in 2021-12-01 20:48:09.241170607 +0100
|
||||
+++ b/man/man8/mkfs.xfs.8.in 2021-12-03 15:34:32.382616819 +0100
|
||||
@@ -1091,6 +1091,12 @@
|
||||
.HP
|
||||
.PD
|
|
@ -0,0 +1,91 @@
|
|||
From 17b691400e8ce0755bb1d7a33490fbc014067e5e Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Reichl <preichl@redhat.com>
|
||||
Date: Fri, 27 Jan 2023 06:30:20 +0100
|
||||
Subject: [PATCH] mkfs: tolerate tiny filesystems
|
||||
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
man/man8/mkfs.xfs.8.in | 4 ++--
|
||||
mkfs/xfs_mkfs.c | 23 ++++++++++++++---------
|
||||
2 files changed, 16 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/man/man8/mkfs.xfs.8.in b/man/man8/mkfs.xfs.8.in
|
||||
index 211e7b0c..03f0fda8 100644
|
||||
--- a/man/man8/mkfs.xfs.8.in
|
||||
+++ b/man/man8/mkfs.xfs.8.in
|
||||
@@ -405,7 +405,7 @@ is required if
|
||||
is given. Otherwise, it is only needed if the filesystem should occupy
|
||||
less space than the size of the special file.
|
||||
|
||||
-The data section must be at least 300MB in size.
|
||||
+The data section should be at least 300MB in size.
|
||||
.TP
|
||||
.BI sunit= value
|
||||
This is used to specify the stripe unit for a RAID device or a
|
||||
@@ -705,7 +705,7 @@ described above. The overriding minimum value for size is 512 blocks.
|
||||
With some combinations of filesystem block size, inode size,
|
||||
and directory block size, the minimum log size is larger than 512 blocks.
|
||||
|
||||
-The log must be at least 64MB in size.
|
||||
+The log should be at least 64MB in size.
|
||||
The log cannot be more than 2GB in size.
|
||||
.TP
|
||||
.BI version= value
|
||||
diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
|
||||
index 9dd0e79c..72c906d6 100644
|
||||
--- a/mkfs/xfs_mkfs.c
|
||||
+++ b/mkfs/xfs_mkfs.c
|
||||
@@ -2503,6 +2503,8 @@ validate_supported(
|
||||
struct xfs_mount *mp,
|
||||
struct cli_params *cli)
|
||||
{
|
||||
+ bool deprecated = false;
|
||||
+
|
||||
/* Undocumented option to enable unsupported tiny filesystems. */
|
||||
if (!cli->is_supported) {
|
||||
printf(
|
||||
@@ -2532,9 +2534,8 @@ validate_supported(
|
||||
* 64MB * (8 / 7) * 4 = 293MB
|
||||
*/
|
||||
if (mp->m_sb.sb_dblocks < MEGABYTES(300, mp->m_sb.sb_blocklog)) {
|
||||
- fprintf(stderr,
|
||||
- _("Filesystem must be larger than 300MB.\n"));
|
||||
- usage();
|
||||
+ printf(_("Filesystem should be larger than 300MB.\n"));
|
||||
+ deprecated = true;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2543,9 +2544,8 @@ validate_supported(
|
||||
*/
|
||||
if (mp->m_sb.sb_logblocks <
|
||||
XFS_MIN_REALISTIC_LOG_BLOCKS(mp->m_sb.sb_blocklog)) {
|
||||
- fprintf(stderr,
|
||||
- _("Log size must be at least 64MB.\n"));
|
||||
- usage();
|
||||
+ printf( _("Log size should be at least 64MB.\n"));
|
||||
+ deprecated = true;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2553,9 +2553,14 @@ validate_supported(
|
||||
* have redundant superblocks.
|
||||
*/
|
||||
if (mp->m_sb.sb_agcount < 2) {
|
||||
- fprintf(stderr,
|
||||
- _("Filesystem must have at least 2 superblocks for redundancy!\n"));
|
||||
- usage();
|
||||
+ printf(
|
||||
+ _("Filesystem should have at least 2 superblocks for redundancy!\n"));
|
||||
+ deprecated = true;
|
||||
+ }
|
||||
+
|
||||
+ if (deprecated) {
|
||||
+ printf(
|
||||
+_("Support for filesystems like this one is deprecated and they will not be supported in future releases.\n"));
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.39.1
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
From ea73527ddb9c9525e696efe0b0dc5f5c8326ec4a Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Reichl <preichl@redhat.com>
|
||||
Date: Wed, 11 Oct 2023 22:27:55 +0200
|
||||
Subject: [PATCH] xfs_quota: fix missing mount point warning
|
||||
|
||||
When user have mounted an XFS volume, and defined project in
|
||||
/etc/projects file that points to a directory on a different volume,
|
||||
then:
|
||||
`xfs_quota -xc "report -a" $path_to_mounted_volume'
|
||||
|
||||
complains with:
|
||||
"xfs_quota: cannot find mount point for path \
|
||||
`directory_from_projects': Invalid argument"
|
||||
|
||||
unlike `xfs_quota -xc "report -a"' which works as expected and no
|
||||
warning is printed.
|
||||
|
||||
This is happening because in the 1st call we pass to xfs_quota command
|
||||
the $path_to_mounted_volume argument which says to xfs_quota not to
|
||||
look for all mounted volumes on the system, but use only those passed
|
||||
to the command and ignore all others (This behavior is intended as an
|
||||
optimization for systems with huge number of mounted volumes). After
|
||||
that, while projects are initialized, the project's directories on
|
||||
other volumes are obviously not in searched subset of volumes and
|
||||
warning is printed.
|
||||
|
||||
I propose to fix this behavior by conditioning the printing of warning
|
||||
only if all mounted volumes are searched.
|
||||
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
libfrog/paths.c | 18 +++++++++++-------
|
||||
1 file changed, 11 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/libfrog/paths.c b/libfrog/paths.c
|
||||
index abb29a237..d8c42163a 100644
|
||||
--- a/libfrog/paths.c
|
||||
+++ b/libfrog/paths.c
|
||||
@@ -457,7 +457,8 @@ fs_table_insert_mount(
|
||||
|
||||
static int
|
||||
fs_table_initialise_projects(
|
||||
- char *project)
|
||||
+ char *project,
|
||||
+ bool all_mps_initialised)
|
||||
{
|
||||
fs_project_path_t *path;
|
||||
fs_path_t *fs;
|
||||
@@ -473,8 +474,10 @@ fs_table_initialise_projects(
|
||||
continue;
|
||||
fs = fs_mount_point_from_path(path->pp_pathname);
|
||||
if (!fs) {
|
||||
- fprintf(stderr, _("%s: cannot find mount point for path `%s': %s\n"),
|
||||
- progname, path->pp_pathname, strerror(errno));
|
||||
+ if (all_mps_initialised)
|
||||
+ fprintf(stderr,
|
||||
+ _("%s: cannot find mount point for path `%s': %s\n"), progname,
|
||||
+ path->pp_pathname, strerror(errno));
|
||||
continue;
|
||||
}
|
||||
(void) fs_table_insert(path->pp_pathname, path->pp_prid,
|
||||
@@ -495,11 +498,12 @@ fs_table_initialise_projects(
|
||||
|
||||
static void
|
||||
fs_table_insert_project(
|
||||
- char *project)
|
||||
+ char *project,
|
||||
+ bool all_mps_initialised)
|
||||
{
|
||||
int error;
|
||||
|
||||
- error = fs_table_initialise_projects(project);
|
||||
+ error = fs_table_initialise_projects(project, all_mps_initialised);
|
||||
if (error)
|
||||
fprintf(stderr, _("%s: cannot setup path for project %s: %s\n"),
|
||||
progname, project, strerror(error));
|
||||
@@ -532,9 +536,9 @@ fs_table_initialise(
|
||||
}
|
||||
if (project_count) {
|
||||
for (i = 0; i < project_count; i++)
|
||||
- fs_table_insert_project(projects[i]);
|
||||
+ fs_table_insert_project(projects[i], mount_count == 0);
|
||||
} else {
|
||||
- error = fs_table_initialise_projects(NULL);
|
||||
+ error = fs_table_initialise_projects(NULL, mount_count == 0);
|
||||
if (error)
|
||||
goto out_error;
|
||||
}
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
Summary: Utilities for managing the XFS filesystem
|
||||
Name: xfsprogs
|
||||
Version: 5.14.2
|
||||
Version: 6.3.0
|
||||
Release: 1%{?dist}
|
||||
License: GPL+ and LGPLv2+
|
||||
URL: https://xfs.wiki.kernel.org
|
||||
Source0: http://kernel.org/pub/linux/utils/fs/xfs/xfsprogs/%{name}-%{version}.tar.xz
|
||||
Source1: http://kernel.org/pub/linux/utils/fs/xfs/xfsprogs/%{name}-%{version}.tar.sign
|
||||
Source2: https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git/plain/keys/20AE1692E13DDEE0.asc
|
||||
Source2: https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git/plain/keys/13F703E6C11CF6F0.asc
|
||||
Source3: rhel8.0.conf
|
||||
Requires: util-linux
|
||||
BuildRequires: make
|
||||
|
@ -23,8 +23,20 @@ Obsoletes: xfsprogs-qa-devel <= %{version}
|
|||
Conflicts: xfsdump < 3.0.1
|
||||
Suggests: xfsprogs-xfs_scrub
|
||||
|
||||
Patch0: xfsprogs-5.12.0-default-bigtime-inobtcnt-on.patch
|
||||
Patch1: xfsprogs-5.12.0-example-conf.patch
|
||||
Patch0: xfsprogs-rhelonly-disable-old-kernel-bigtime-inobtcnt-on.patch
|
||||
Patch1: xfsprogs-rhelonly-example-conf.patch
|
||||
Patch2: xfsprogs-rhelonly-mkfs-tolerate-tiny-filesystems.patch
|
||||
Patch3: xfsprogs-rhelonly-xfs_quota-fix-missing-mount-point-warning.patch
|
||||
Patch4: xfsprogs-6.4.0-set-bnobt-cntbt-numrecs-correctly-when-formattin.patch
|
||||
Patch5: xfsprogs-6.4.0-mkfs-fix-man-s-default-value-for-sparse-option.patch
|
||||
Patch6: xfsprogs-6.4.0-xfs_repair-don-t-add-junked-entries-to-the-rebuilt-d.patch
|
||||
Patch7: xfsprogs-6.4.0-xfs_repair-fix-messaging-when-fixing-imap-due-to-spa.patch
|
||||
Patch8: xfsprogs-6.4.0-xfs_repair-don-t-spray-correcting-imap-all-by-itself.patch
|
||||
Patch9: xfsprogs-6.4.0-xfs_repair-fix-messaging-when-shortform_dir2_junk-is.patch
|
||||
Patch10: xfsprogs-6.4.0-xfs_db-move-obfuscate_name-assertion-to-callers.patch
|
||||
Patch11: xfsprogs-6.4.0-xfs_db-fix-metadump-name-obfuscation-for-ascii-ci-fi.patch
|
||||
Patch12: xfsprogs-6.5.0-mkfs.xfs.8-correction-on-mkfs.xfs-manpage-since-refl.patch
|
||||
Patch13: xfsprogs-6.4.0-xfs-stabilize-the-dirent-name-transformation-functio.patch
|
||||
|
||||
%description
|
||||
A set of commands to use the XFS filesystem, including mkfs.xfs.
|
||||
|
@ -136,6 +148,66 @@ install -m 0644 %{SOURCE3} %{buildroot}%{mkfsdir}
|
|||
%{_libdir}/*.so
|
||||
|
||||
%changelog
|
||||
* Mon Nov 13 2023 Pavel Reichl <preichl@redhat.com> - 6.3.0-1
|
||||
- Rebase to upstream version 6.3.0
|
||||
-
|
||||
- Following is a list of dropped backported patches which
|
||||
- are contained in the current rebase:
|
||||
- xfsprogs-5.19.0-xfs-hoist-refcount-record-merge-predicates.patch (v6.2.0)
|
||||
- xfsprogs-5.19.0-xfs_db-fix-dir3-block-magic-check.patch (v6.1.0)
|
||||
- xfsprogs-5.19.0-xfs-estimate-post-merge-refcounts-correctly.patch (v6.2.0)
|
||||
- xfsprogs-5.19.0-xfs-get-rid-of-assert-from-xfs_btree_islastblock.patch (v6.2.0)
|
||||
- xfsprogs-5.19.0-xfs-fix-off-by-one-error-in-xfs_btree_space_to_heigh.patch (v6.2.0)
|
||||
- xfsprogs-5.19.0-xfs-fix-sb-write-verify-for-lazysbcount.patch (v6.1.0)
|
||||
- xfsprogs-5.19.0-xfs-removed-useless-condition-in-function-xfs_attr_n.patch (v6.0.0)
|
||||
- xfsprogs-5.19.0-xfs_repair-retain-superblock-buffer-to-avoid-write-h.patch (v6.1.0)
|
||||
-
|
||||
- Rename the remaining patches so the name contains upstream version in which
|
||||
- they are implemented, or "rhelonly".
|
||||
-
|
||||
- Drop Eric Sandeen's public key used to check tarball signature and replace it by
|
||||
- Carlos Maiolino's (current upstream xfsprogs maintainer).
|
||||
-
|
||||
- Following is a list of newly backported patches from versions released after 6.3
|
||||
- which are fixing patches present in version 6.3:
|
||||
- xfsprogs-6.4.0-xfs_repair-don-t-add-junked-entries-to-the-rebuilt-d.patch
|
||||
- xfsprogs-6.4.0-xfs_repair-don-t-spray-correcting-imap-all-by-itself.patch
|
||||
- xfsprogs-6.4.0-xfs_repair-fix-messaging-when-fixing-imap-due-to-spa.patch
|
||||
- xfsprogs-6.4.0-xfs_repair-fix-messaging-when-shortform_dir2_junk-is.patch
|
||||
-
|
||||
- Backport:
|
||||
- xfsprogs-6.4.0-xfs_db-move-obfuscate_name-assertion-to-callers.patch
|
||||
- xfsprogs-6.4.0-xfs_db-fix-metadump-name-obfuscation-for-ascii-ci-fi.patch
|
||||
- xfsprogs-6.4.0-xfs-stabilize-the-dirent-name-transformation-functio.patch
|
||||
- to implement RHEL-RHEL-8284
|
||||
-
|
||||
- Backport xfsprogs-rhelonly-xfs_quota-fix-missing-mount-point-warning.patch
|
||||
- to implement RHEL-7900
|
||||
-
|
||||
- Related: RHEL-15399
|
||||
- Related: RHEL-8284
|
||||
- Related: RHEL-7900
|
||||
|
||||
* Wed Aug 02 2023 Pavel Reichl <preichl@redhat.com> - 5.19.0-4
|
||||
- Fix man page, mkfs.xfs(8): Update section on dax+reflink
|
||||
- compatibility (#2226900)
|
||||
|
||||
* Tue Jun 20 2023 Pavel Reichl <preichl@redhat.com> - 5.19.0-3
|
||||
- Fix man page default for sparse mkfs option (#2216118)
|
||||
|
||||
* Fri May 26 2023 Pavel Reichl <preichl@redhat.com> - 5.19.0-2
|
||||
- Fix xfs corrupted when AG size is a multiple of stripe width
|
||||
- Related: rhbz#2192982
|
||||
|
||||
* Tue Jan 10 2023 Pavel Reichl <preichl@redhat.com> - 5.19.0-1
|
||||
- New upstream release
|
||||
- Tolerate tiny (<300MB) filesystems
|
||||
- Rename xfsprogs-5.12.0-default-bigtime-inobtcnt-on.patch to
|
||||
xfsprogs-5.19.0-disable-old-kernel-bigtime-inobtcnt-on.patch
|
||||
and amend it to reflect upstream changes
|
||||
- Backport all "Fixing" patches relevant to 5.19
|
||||
Related: rhbz#2142910
|
||||
|
||||
* Fri Jan 21 2022 Pavel Reichl <preichl@redhat.com> - 5.14.2-1
|
||||
- New upstream release
|
||||
Related: rhbz#2041525
|
||||
|
|
Loading…
Reference in New Issue