Re: [PATCH] xfs_db: properly set inode type

Eric Sandeen
2017-06-28T22:45:56Z

On 6/27/17 7:42 PM, Darrick J. Wong wrote:
>> + ino = XFS_AGINO_TO_INO(mp, xfs_daddr_to_agno(mp, b),
>> + ((b << BBSHIFT) >> mp->m_sb.sb_inodelog) %
>> + (mp->m_sb.sb_agblocks << mp->m_sb.sb_inopblog));

> XFS_OFFBNO_TO_AGINO(mp, xfs_daddr_to_agbno(mp, b), 0) instead of that
> long third argument?

Hm, nope:

xfs_db> inode 99
xfs_db> daddr
current daddr is 99

xfs_db> daddr 99
xfs_db> type inode
xfs_db> inode
current inode number is 96

That ends up taking the first inode in the fsblock (12), not the sector
(99) I guess.

The macro needs a non-zero offset into the fsblock... found by, um...
I'm not sure that's going to be much prettier.

How much do you hate how I wrote it first? ;) (I kind of hate it a
lot but dunno what else we have?)

-Eric