Whamcloud - gitweb
- returned back OBD_MD_FID. For many reasons its removal was wrong.
- fixed declation of OBD_MD.. flags. They should be declared like the following:
#define OBD_MD_FLALL (0xffffffffffffffffLL)
to show compiller explicitly that they are 64bit value and should considered as such.
- fixed md_reint_rename(). It should first check if objects are the same then check if tgt is subdir of src because for the same inodes is_subdir() returns 1 and mds_reint_rename() for renaming object into itself it returned -EINVAL;
- added asserts in LMV checking if body->valid contains valid fid before accessing it to check if object is splitted.
- in lmv_intent.c after md_intent_lock() checking not only error code, but also disposition, because there are cases when we're interested in name which does not exist, lock is not taken and policy_res2 is cleared in mds_intent_policy(). In this case we should do nothing (especially access body->id1 in LMV), but exit. This is because body->id1 is zero and (body->valid & OBD_MD_FID) == 0 because say mds_getattr_lock() failed before filling out as inode is not found.