Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Description of problem:
I've hit a problem with xfs_db on filesystems with a 4096 byte sector size. Normally when investigating an on disk error I can set a disk address then change the type to the metadata based on the magic number or error seen.
But for non 512 byte sector sizes I'm getting CRC errors.
This leads to confusing when analysing such filesystems.
Version-Release number of selected component (if applicable):
- xfsprogs-4.5.0-9.el7_3.x86_64
- upstream xfs-dev
How reproducible: Always
Steps to Reproduce:
$ truncate -s1G xfs_sectsize_4096.image
$ mkfs.xfs -s size=4096 xfs_sectsize_4096.image
meta-data=xfs_sectsize_4096.image isize=512 agcount=4, agsize=65536 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
$ xfs_db xfs_sectsize_4096.image
xfs_db> agi 0
xfs_db> p crc
crc = 0xab85043e (correct)
xfs_db> daddr
current daddr is 16
xfs_db> daddr 42
xfs_db> daddr 16
xfs_db> type agi
Metadata CRC error detected at xfs_agi block 0x10/0x200
xfs_db> p crc
crc = 0xab85043e (bad)
Compare this with the behaviour for 512 byte sectors
$ truncate -s1G xfs_sectsize_512.image
$ mkfs.xfs xfs_sectsize_512.image
meta-data=xfs_sectsize_512.image isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
$ xfs_db xfs_sectsize_512.image
xfs_db> agi 0
xfs_db> daddr
current daddr is 2
xfs_db> daddr 42
xfs_db> daddr 2
xfs_db> type agi
xfs_db> p crc
crc = 0xd8661783 (correct)
(In reply to Bill O'Donnell from comment #6)
> Do we close this or move it to some other state, as it's been fixed in
> xfsprogs, ala commit 55f224baf ?
Hi Bill,
Sorry I can't understand your point. I knew you've fixed it on upstream xfsprogs, but I didn't see any update in RHEL-7 xfsprogs, so I can't close this bug directly.
Eric is maintainer of internal xfsprogs, so generally he'll merge your patch into internal xfsprogs from upstream, then he will change this bug status to POST->MODIFIED. I don't know if you can change internal xfsprogs, or you need to talk with Eric.
Thanks,
Zorro
>
> Thanks-
> Bill
These more or less go together to fix this:
533d1d2 xfs_db: properly set inode type
db23e0f xfs_db: improve argument naming in set_cur and set_iocur_type
55f224b xfs_db: update buffer size when new type is set
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2018:0847
Description of problem: I've hit a problem with xfs_db on filesystems with a 4096 byte sector size. Normally when investigating an on disk error I can set a disk address then change the type to the metadata based on the magic number or error seen. But for non 512 byte sector sizes I'm getting CRC errors. This leads to confusing when analysing such filesystems. Version-Release number of selected component (if applicable): - xfsprogs-4.5.0-9.el7_3.x86_64 - upstream xfs-dev How reproducible: Always Steps to Reproduce: $ truncate -s1G xfs_sectsize_4096.image $ mkfs.xfs -s size=4096 xfs_sectsize_4096.image meta-data=xfs_sectsize_4096.image isize=512 agcount=4, agsize=65536 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=262144, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 $ xfs_db xfs_sectsize_4096.image xfs_db> agi 0 xfs_db> p crc crc = 0xab85043e (correct) xfs_db> daddr current daddr is 16 xfs_db> daddr 42 xfs_db> daddr 16 xfs_db> type agi Metadata CRC error detected at xfs_agi block 0x10/0x200 xfs_db> p crc crc = 0xab85043e (bad) Compare this with the behaviour for 512 byte sectors $ truncate -s1G xfs_sectsize_512.image $ mkfs.xfs xfs_sectsize_512.image meta-data=xfs_sectsize_512.image isize=512 agcount=4, agsize=65536 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=262144, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 $ xfs_db xfs_sectsize_512.image xfs_db> agi 0 xfs_db> daddr current daddr is 2 xfs_db> daddr 42 xfs_db> daddr 2 xfs_db> type agi xfs_db> p crc crc = 0xd8661783 (correct)