X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Flov%2Flov_offset.c;h=c5ba4eb5a416dc8e9003a00e6566f615ba5cdf59;hb=refs%2Fchanges%2F10%2F28010%2F15;hp=3ff0a38a7e263ea02f3ee9b82c3c573d9cecf21c;hpb=68ff85b8858e845eee1ca9d6d2ba639cdc2fb470;p=fs%2Flustre-release.git diff --git a/lustre/lov/lov_offset.c b/lustre/lov/lov_offset.c index 3ff0a38..c5ba4eb 100644 --- a/lustre/lov/lov_offset.c +++ b/lustre/lov/lov_offset.c @@ -44,6 +44,9 @@ static loff_t stripe_width(struct lov_stripe_md *lsm, unsigned int index) LASSERT(index < lsm->lsm_entry_count); + if (lsme_is_dom(entry)) + return (loff_t)entry->lsme_stripe_size; + return (loff_t)entry->lsme_stripe_size * entry->lsme_stripe_count; } @@ -141,12 +144,12 @@ int lov_stripe_offset(struct lov_stripe_md *lsm, int index, loff_t lov_off, loff_t stripe_off; loff_t this_stripe; loff_t swidth; - int ret = 0; + int ret = 0; - if (lov_off == OBD_OBJECT_EOF) { - *obdoff = OBD_OBJECT_EOF; - return 0; - } + if (lov_off == OBD_OBJECT_EOF) { + *obdoff = OBD_OBJECT_EOF; + return 0; + } swidth = stripe_width(lsm, index); @@ -197,8 +200,8 @@ loff_t lov_size_to_stripe(struct lov_stripe_md *lsm, int index, u64 file_size, loff_t this_stripe; loff_t swidth; - if (file_size == OBD_OBJECT_EOF) - return OBD_OBJECT_EOF; + if (file_size == OBD_OBJECT_EOF) + return OBD_OBJECT_EOF; swidth = stripe_width(lsm, index);