Steve Lord writes:
=>
=> Daniel,
=> We could just use xfs_xlate_dinode_core() on the inode core to convert it,
=> we then need to look at all the other fields in the inode which can get
...
Happily, the dinode_core is the only part of the dinode that is stored
in in-core format at any time. So currently, the inode log records
consist of an in-core inode core and the on-disk version of the rest of
the inode. The dinode_core is easy to move between in-core and on-disk
forms but the rest would be nasty.
For now, I've fixed the recovery to convert the core to on-disk before
writing it out. This is an efficient way of doing things, but if we
ever want to be able to move dirty disks between architecture, we'll
have to make sure the whole log is in on-disk format.
=> I think we were under the impression that recovery was working when run on
=> the same architecture as previously mounted on, the only issues being when
=> we moved a disk from one architecture to another. As it stands, development
=> on the rest of xfs got more painful at the moment - since we cannot recover
=> from the crashes we invariably create!
XFS crashes?! surely not...
(let me know if my TAKE fixes things - I'll keep working on log
recovery today)
-----------------------------------------------------
Daniel Moore dxm@xxxxxxx
R&D Software Engineer Phone: +61-3-98348209
SGI Performance Tools Group Fax: +61-3-98132378
-----------------------------------------------------
|