Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1458670 - xfs_db does not take sector size into account when setting type
xfs_db does not take sector size into account when setting type
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: xfsprogs (Show other bugs)
7.3
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: Eric Sandeen
Zorro Lang
:
: 1512856 (view as bug list)
Depends On:
Blocks: 1476742 1522983
  Show dependency treegraph
 
Reported: 2017-06-05 03:44 EDT by Donald Douwsma
Modified: 2018-04-10 11:08 EDT (History)
5 users (show)

See Also:
Fixed In Version: xfsprogs-4.5.0-13.el7
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-04-10 11:08:20 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0847 None None None 2018-04-10 11:08 EDT

  None (edit)
Description Donald Douwsma 2017-06-05 03:44:16 EDT
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)
Comment 2 Eric Sandeen 2017-06-05 15:51:00 EDT
Bills said he'd take a look at this one.  Bill, please let me know how it goes.

Thanks,
-Eric
Comment 3 Eric Sandeen 2017-06-05 16:00:56 EDT
As noted, this needs to be fixed upstream first.
Comment 4 Bill O'Donnell 2017-07-10 12:50:45 EDT
upsteam commit: 55f224baf83
Comment 5 Zorro Lang 2017-08-11 08:45:50 EDT
Due to Bill has written a case for xfstests and merged as xfs/424, so this bug has been covered now. Thanks Bill:)
Comment 6 Bill O'Donnell 2017-09-06 16:27:41 EDT
Do we close this or move it to some other state, as it's been fixed in xfsprogs, ala commit 55f224baf ?

Thanks-
Bill
Comment 7 Zorro Lang 2017-09-07 00:04:32 EDT
(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
Comment 8 Eric Sandeen 2017-09-07 00:05:32 EDT
I'll merge this into xfsprogs along with other fixes for 7.5.

Thanks,
-Eric
Comment 9 Eric Sandeen 2017-10-05 15:13:37 EDT
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
Comment 12 Eric Sandeen 2017-11-14 11:46:39 EST
*** Bug 1512856 has been marked as a duplicate of this bug. ***
Comment 13 IBM Bug Proxy 2017-12-08 05:02:06 EST
------- Comment From hasriram@in.ibm.com 2017-12-08 04:51 EDT-------
Test passed with kernel 4.14.0-6.el7a.ppc64le.

# ./check tests/xfs/424
FSTYP         -- xfs (non-debug)
PLATFORM      -- Linux/ppc64le ltc-boston27 4.14.0-6.el7a.ppc64le
MKFS_OPTIONS  -- -f -bsize=4096 /dev/loop2
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/loop2 /home/scratch

xfs/424	 9s
Ran: xfs/424
Passed all 1 tests

Harish
Comment 17 errata-xmlrpc 2018-04-10 11:08:20 EDT
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

Note You need to log in before you can comment on or make changes to this bug.