afs: Fix afs_server_list to be cleaned up with RCU
[platform/kernel/linux-starfive.git] / fs / afs / internal.h
index 723d162..c2d70fc 100644 (file)
@@ -552,6 +552,7 @@ struct afs_server_entry {
 };
 
 struct afs_server_list {
+       struct rcu_head         rcu;
        afs_volid_t             vids[AFS_MAXTYPES]; /* Volume IDs */
        refcount_t              usage;
        unsigned char           nr_servers;
@@ -1301,7 +1302,7 @@ static inline void afs_extract_begin(struct afs_call *call, void *buf, size_t si
        call->iov_len = size;
        call->kvec[0].iov_base = buf;
        call->kvec[0].iov_len = size;
-       iov_iter_kvec(&call->def_iter, READ, call->kvec, 1, size);
+       iov_iter_kvec(&call->def_iter, ITER_DEST, call->kvec, 1, size);
 }
 
 static inline void afs_extract_to_tmp(struct afs_call *call)
@@ -1319,7 +1320,7 @@ static inline void afs_extract_to_tmp64(struct afs_call *call)
 static inline void afs_extract_discard(struct afs_call *call, size_t size)
 {
        call->iov_len = size;
-       iov_iter_discard(&call->def_iter, READ, size);
+       iov_iter_discard(&call->def_iter, ITER_DEST, size);
 }
 
 static inline void afs_extract_to_buf(struct afs_call *call, size_t size)