I sync latest XFS last month and build into our embedded system. When I test, I found below issue.
It seems that the xfs_iomap failed when it did allocat with xfs_ilock_nowait().
I debug this and found that ip->i_lock is locked and there are sometime no unlock coming between two lock trying.
This issue will give wrong data in file on disk exactly on that offset.
Filesystem "ubdb1": page discard on page 09160ac0, inode 0x43, offset 229494784.
Filesystem "ubdb1": page discard on page 09160ae0, inode 0x43, offset 229498880.
Filesystem "ubdb1": page discard on page 0915fac0, inode 0x43, offset 229502976.
Filesystem "ubdb1": page discard on page 0915fae0, inode 0x43, offset 229507072.
Filesystem "ubdb1": page discard on page 0914d440, inode 0x43, offset 229511168.
Should we just discard the page? I don't think it is good because the file will be corrupted.
Should we fix it? I am new to XFS and more than like to hear your opinion.
Thanks very much,
Mike Gao
_______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs