X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Flmv%2Flproc_lmv.c;h=02ea071fbb91935a89eb1c47741094419caefce6;hp=251dd93ef6d77a0c4b3bceff9713560a5cf0ee6c;hb=e5bb5a373cb3548ec8f5989c7e08fa7a3c8259f3;hpb=cb1609b32c21045655f7fe463d0c050c2667ebba diff --git a/lustre/lmv/lproc_lmv.c b/lustre/lmv/lproc_lmv.c index 251dd93..02ea071 100644 --- a/lustre/lmv/lproc_lmv.c +++ b/lustre/lmv/lproc_lmv.c @@ -160,7 +160,15 @@ static void *lmv_tgt_seq_start(struct seq_file *p, loff_t *pos) { struct obd_device *dev = p->private; struct lmv_obd *lmv = &dev->u.lmv; - return (*pos >= lmv->desc.ld_tgt_count) ? NULL : lmv->tgts[*pos]; + + while (*pos < lmv->tgts_size) { + if (lmv->tgts[*pos] != NULL) + return lmv->tgts[*pos]; + + ++*pos; + } + + return NULL; } static void lmv_tgt_seq_stop(struct seq_file *p, void *v) @@ -172,8 +180,16 @@ static void *lmv_tgt_seq_next(struct seq_file *p, void *v, loff_t *pos) { struct obd_device *dev = p->private; struct lmv_obd *lmv = &dev->u.lmv; + ++*pos; - return (*pos >= lmv->desc.ld_tgt_count) ? NULL : lmv->tgts[*pos]; + while (*pos < lmv->tgts_size) { + if (lmv->tgts[*pos] != NULL) + return lmv->tgts[*pos]; + + ++*pos; + } + + return NULL; } static int lmv_tgt_seq_show(struct seq_file *p, void *v)