The object extent offset is the file offset _modulo_ the stripe unit.
The code was correct, the comment was wrong.
Reported-by: Noah Watkins <jayhawk@soe.ucsc.edu>
Signed-off-by: Sage Weil <sage@newdream.net>
*bno = objsetno * sc + stripepos;
dout("objset %u * sc %u = bno %u\n", objsetno, sc, (unsigned)*bno);
- /* *oxoff = *off / layout->fl_stripe_unit; */
+ /* *oxoff = *off % layout->fl_stripe_unit; */
t = off;
*oxoff = do_div(t, su);
*oxlen = min_t(u64, *plen, su - *oxoff);