mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user