• wang di's avatar
    LU-4690 lod: separate master object with master stripe · 60e07b97
    wang di authored
    Separate master stripe with master object, so
    1. stripeEA only exists on master object.
    2. sub-stripe object will be inserted into master object
    as sub-directory, and it can get the master object by "..".
    By this, it will remove those specilities for stripe0 in
    LMV and LOD. And also simplify LFSCK, i.e. consistency check
    would be easier.
    And also after this separation, LOD will know whether iterating
    the whole stripe or single stripe eaisly, i.e. for master_object,
    it will iterate the whole stripes, for sub_stripe, it will only
    iterate the single stripe.
    This patch also fixes a few things in osp orphan iteration, to
    make it work with remote dir entry iteration.
    When then master object becomes an orphan, we should
    mark all of its sub-stripes as dead object as well,
    otherwise client might still be able to create files
    under these stripes.
    A few fixes for striped directory layout lock:
    1. stripe 0 should be locked as EX, same as other stripes.
    2. Acquire the layout for directory, when it is being unliked.
    Signed-off-by: default avatarwang di <di.wang@intel.com>
    Change-Id: I6212fb97a2360664b48e0a75424a89c857da2043
    Reviewed-on: http://review.whamcloud.com/9511
    Tested-by: Jenkins
    Tested-by: default avatarMaloo <hpdd-maloo@intel.com>
    Reviewed-by: default avatarAndreas Dilger <andreas.dilger@intel.com>
    Reviewed-by: default avatarJohn L. Hammond <john.hammond@intel.com>
    Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>