mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 22:24:11 +08:00
netfslib, cachefiles and afs fixes
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEqG5UsNXhtOCrfGQP+7dXa6fLC2sFAmFfE4oACgkQ+7dXa6fL C2txTBAAnWlEssljz7x09A/I9Js155U2hW9oDSoqkUxqZSe05oBbTPNycURvXAGZ wZhNZdD5Xc4ITjLmPQQclgkfWc+deq6UKzw8E58XmjiO1Uq6WcqUsC95M1USAmaM nRyhGrYRxJbv5eRDx3Ox3yoLntlSzvX1ZLhWr6DgAnb9uCdIWSGgy34XTd3aOSZa OEtPR/tvBZygxMV9wsflD2GNNLe7QDrOMUnvFSlmxBOUolclbHj9uhB/fQXN7frN Q/nf5QluBqZK13CIbiKSPy0wfl/hEdSFsOs5jAgMGm4IsZjSpsw2lvzxlfEaI7U/ QzNHpqAc0ynPI9fbvs2LTkNFR1oe+njOIVvu0QMjOXEdnyOGEbFjX5eDNiKSAih4 R3cNh2T16yUsx99lVbGkJAwbBQTmdp2yvfugQVX5qDNi+Ln8TFUKUHgruUv/FYJw hUjcOL6cjGdWORpWkxSoEariA6zDjKCWiyMu5w2yzSufI+DJ0AI6MQVOeqaX6dm6 EldlxDO3w7uvXmwpH1RZsHXCqWfyiHn4P5LsSuVy/wM2O/VemaGQuHsxnLtMMJ+q HGniSziE6LAvF0RvBrngFGhAY6rqMIGzXK/+S1Z/YwM9+tYnoYhbANDhjmywrcI5 GWaKePV5giTXlaI/XertjzEpQ2yo8r2HkYoVowV3NaRNrc3qgnQ= =X7mM -----END PGP SIGNATURE----- Merge tag 'misc-fixes-20211007' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs Pull netfslib, cachefiles and afs fixes from David Howells: - Fix another couple of oopses in cachefiles tracing stemming from the possibility of passing in a NULL object pointer - Fix netfs_clear_unread() to set READ on the iov_iter so that source it is passed to doesn't do the wrong thing (some drivers look at the flag on iov_iter rather than other available information to determine the direction) - Fix afs_launder_page() to write back at the correct file position on the server so as not to corrupt data * tag 'misc-fixes-20211007' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: afs: Fix afs_launder_page() to set correct start file position netfs: Fix READ/WRITE confusion when calling iov_iter_xarray() cachefiles: Fix oops with cachefiles_cull() due to NULL object
This commit is contained in:
commit
7041503d3a
@ -974,8 +974,7 @@ int afs_launder_page(struct page *page)
|
||||
iov_iter_bvec(&iter, WRITE, bv, 1, bv[0].bv_len);
|
||||
|
||||
trace_afs_page_dirty(vnode, tracepoint_string("launder"), page);
|
||||
ret = afs_store_data(vnode, &iter, (loff_t)page->index * PAGE_SIZE,
|
||||
true);
|
||||
ret = afs_store_data(vnode, &iter, page_offset(page) + f, true);
|
||||
}
|
||||
|
||||
trace_afs_page_dirty(vnode, tracepoint_string("laundered"), page);
|
||||
|
@ -150,7 +150,7 @@ static void netfs_clear_unread(struct netfs_read_subrequest *subreq)
|
||||
{
|
||||
struct iov_iter iter;
|
||||
|
||||
iov_iter_xarray(&iter, WRITE, &subreq->rreq->mapping->i_pages,
|
||||
iov_iter_xarray(&iter, READ, &subreq->rreq->mapping->i_pages,
|
||||
subreq->start + subreq->transferred,
|
||||
subreq->len - subreq->transferred);
|
||||
iov_iter_zero(iov_iter_count(&iter), &iter);
|
||||
|
@ -178,7 +178,7 @@ TRACE_EVENT(cachefiles_unlink,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->obj = obj->fscache.debug_id;
|
||||
__entry->obj = obj ? obj->fscache.debug_id : UINT_MAX;
|
||||
__entry->de = de;
|
||||
__entry->why = why;
|
||||
),
|
||||
@ -205,7 +205,7 @@ TRACE_EVENT(cachefiles_rename,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->obj = obj->fscache.debug_id;
|
||||
__entry->obj = obj ? obj->fscache.debug_id : UINT_MAX;
|
||||
__entry->de = de;
|
||||
__entry->to = to;
|
||||
__entry->why = why;
|
||||
|
Loading…
Reference in New Issue
Block a user