Whamcloud - gitweb
LU-11663 osd-zfs: write partial pages with correct offset
[fs/lustre-release.git] / lustre / osd-zfs / osd_io.c
index a8bbd6b..b836536 100644 (file)
@@ -881,8 +881,8 @@ static int osd_write_commit(const struct lu_env *env, struct dt_object *dt,
 
                if (lnb[i].lnb_page->mapping == (void *)obj) {
                        osd_dmu_write(osd, obj->oo_dn, lnb[i].lnb_file_offset,
-                                     lnb[i].lnb_len, kmap(lnb[i].lnb_page),
-                                     oh->ot_tx);
+                                     lnb[i].lnb_len, kmap(lnb[i].lnb_page) +
+                                     lnb[i].lnb_page_offset, oh->ot_tx);
                        kunmap(lnb[i].lnb_page);
                        iosize += lnb[i].lnb_len;
                        abufsz = lnb[i].lnb_len; /* to drop cache below */