Skip to content

Commit 5c05224

Browse files
committed
afs: Fix afs_launder_page() to set correct start file position
Fix afs_launder_page() to set the starting position of the StoreData RPC at the offset into the page at which the modified data starts instead of at the beginning of the page (the iov_iter is correctly offset). The offset got lost during the conversion to passing an iov_iter into afs_store_data(). Changes: ver #2: - Use page_offset() rather than manually calculating it[1]. Fixes: bd80d8a ("afs: Use ITER_XARRAY for writing") Signed-off-by: David Howells <[email protected]> Reviewed-by: Jeffrey Altman <[email protected]> cc: Marc Dionne <[email protected]> cc: [email protected] Link: https://lore.kernel.org/r/YST/[email protected]/ [1] Link: https://lore.kernel.org/r/162880783179.3421678.7795105718190440134.stgit@warthog.procyon.org.uk/ # v1 Link: https://lore.kernel.org/r/162937512409.1449272.18441473411207824084.stgit@warthog.procyon.org.uk/ # v1 Link: https://lore.kernel.org/r/162981148752.1901565.3663780601682206026.stgit@warthog.procyon.org.uk/ # v1 Link: https://lore.kernel.org/r/163005741670.2472992.2073548908229887941.stgit@warthog.procyon.org.uk/ # v2 Link: https://lore.kernel.org/r/163221839087.3143591.14278359695763025231.stgit@warthog.procyon.org.uk/ # v2 Link: https://lore.kernel.org/r/163292980654.4004896.7134735179887998551.stgit@warthog.procyon.org.uk/ # v2
1 parent 330de47 commit 5c05224

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

fs/afs/write.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -974,8 +974,7 @@ int afs_launder_page(struct page *page)
974974
iov_iter_bvec(&iter, WRITE, bv, 1, bv[0].bv_len);
975975

976976
trace_afs_page_dirty(vnode, tracepoint_string("launder"), page);
977-
ret = afs_store_data(vnode, &iter, (loff_t)page->index * PAGE_SIZE,
978-
true);
977+
ret = afs_store_data(vnode, &iter, page_offset(page) + f, true);
979978
}
980979

981980
trace_afs_page_dirty(vnode, tracepoint_string("laundered"), page);

0 commit comments

Comments
 (0)