Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.17.0
-
None
-
3
-
9223372036854775807
Description
There's a strange code in mdt_dom_read_on_open (highlighted by smatch) that asserts for some non-sensical stuff that's not even changed inside the loop:
rc = dt_read_prep(env, mo, lnb, nr_local); if (unlikely(rc)) GOTO(buf_put, rc); /* copy data to the buffer finally */ for (i = 0; i < nr_local; i++) { char *p = kmap(lnb[i].lnb_page); long off; LASSERT(lnb[i].lnb_page_offset == 0); off = lnb[i].lnb_len & ~PAGE_MASK; if (off > 0) memset(p + off, 0, PAGE_SIZE - off); memcpy(buf + (i << PAGE_SHIFT), p, lnb[i].lnb_len); kunmap(lnb[i].lnb_page); copied += lnb[i].lnb_len; ====>>> LASSERT(rc <= len); <<<<======= here }
I checked with Mike (original path author) and he thinks we can just safely drop it.
Attachments
Issue Links
- is related to
-
LU-10181 DoM performance optimization
-
- Resolved
-
Merged for 2.17