Whamcloud - gitweb
- moved dir entries are deleted from the original dir (master object)
- unlink for splitted dir has been implemented. it uses IT_UNLINK to check
dir's emptiness and works as following: unlink requests comes to mds holding
dir; mds recognizes splitted dir and issues LCK_EX with IT_UNLINK intent.
each slave object is checked and locked. if all the slaves and master object
are empty, then mds unlinks them and unlocks slave objects
- lmv_enqueue() handles splitted dir properly: issues given lock for each object
- lmv_unlink() handles splitted dir properly: unlinks each slave object
- mds_lock_slave_objs(), mds_unlock_slave_objs() and mds_unlink_slave_objs()
have been introduced to implement splitted dir unlink
- mds_lock_and_check_slave() is IT_UNLINK handler on mds side
- mds_reint_unlink() sets MDS_MODE_REPLAY on "drop nlink" request in replay case
- mds_reint_unlink() recognizes MDS_MODE_DONT_LOCK and doesn't try to lock
slave object being removed (it gets locked during earlier)
- minor cleanups in lmv to avoid needless debug messages
- sanity-lmv.sh has been added