netfs, afs: Use writeback retry to deal with alternate keys
Use a hook in the new writeback code's retry algorithm to rotate the keys once all the outstanding subreqs have failed rather than doing it separately on each subreq. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> cc: Marc Dionne <marc.dionne@auristor.com> cc: linux-afs@lists.infradead.org cc: netfs@lists.linux.dev cc: linux-fsdevel@vger.kernel.org
This commit is contained in:
@@ -235,6 +235,7 @@ struct netfs_io_request {
|
||||
struct iov_iter iter; /* Unencrypted-side iterator */
|
||||
struct iov_iter io_iter; /* I/O (Encrypted-side) iterator */
|
||||
void *netfs_priv; /* Private data for the netfs */
|
||||
void *netfs_priv2; /* Private data for the netfs */
|
||||
struct bio_vec *direct_bv; /* DIO buffer list (when handling iovec-iter) */
|
||||
unsigned int direct_bv_count; /* Number of elements in direct_bv[] */
|
||||
unsigned int debug_id;
|
||||
@@ -306,6 +307,7 @@ struct netfs_request_ops {
|
||||
void (*begin_writeback)(struct netfs_io_request *wreq);
|
||||
void (*prepare_write)(struct netfs_io_subrequest *subreq);
|
||||
void (*issue_write)(struct netfs_io_subrequest *subreq);
|
||||
void (*retry_request)(struct netfs_io_request *wreq, struct netfs_io_stream *stream);
|
||||
void (*invalidate_cache)(struct netfs_io_request *wreq);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user