[LU-2802] lmv_get_target should get index by checking ltd_idx Created: 13/Feb/13  Updated: 20/Mar/13  Resolved: 20/Mar/13

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.4.0
Fix Version/s: Lustre 2.4.0

Type: Bug Priority: Blocker
Reporter: Di Wang Assignee: Di Wang
Resolution: Fixed Votes: 0
Labels: LB

Severity: 3
Rank (Obsolete): 6780

 Description   

lmv_get_target should find target by checking ltd_idx, instead of return lmv->tgts[mds] directly.
In lmv_find_target, it will return lmv->tgts[mds] according to mdt_index, which is not correct. LMV index is created by mount sequence, while mdt_index by indicated by --index.

static inline struct lmv_tgt_desc *
lmv_get_target(struct lmv_obd *lmv, mdsno_t mds)
{       
        return &lmv->tgts[mds];
}       

static inline struct lmv_tgt_desc *
lmv_find_target(struct lmv_obd *lmv, const struct lu_fid *fid)
{               
        mdsno_t mds = 0;
        int rc;         
                        
        if (lmv->desc.ld_tgt_count > 1) {
                rc = lmv_fld_lookup(lmv, fid, &mds);
                if (rc) 
                        return ERR_PTR(rc);
        }                            
                        
        return lmv_get_target(lmv, mds);
}       


 Comments   
Comment by Di Wang [ 13/Feb/13 ]

http://review.whamcloud.com/5412

Comment by Peter Jones [ 20/Mar/13 ]

Landed for 2.4

Generated at Sat Feb 10 01:28:19 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.