|
OI scrub is able to handle mapping in below cases:
- get inode or LMA xattr fail (return code is not -ENOENT, -ESTALE or -ENOMEM).
- FID provided by client is not seen in inode iteration, this happens when client get FID by readdir, but this FID doesn't point to any inode on disk.
- OI scrub found the correct mapping, but fails to update OI files.
Add tests for these cases to ensure they are always correctly handled. And the code of osd_fid_lookup() can be cleaned up to make it easier to understand and maintain.
|