Merge tag 'nfs-for-5.7-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[platform/kernel/linux-starfive.git] / include / linux / nfs_xdr.h
index 6838c14..4402304 100644 (file)
@@ -1266,16 +1266,25 @@ struct nfstime4 {
 struct pnfs_commit_bucket {
        struct list_head written;
        struct list_head committing;
-       struct pnfs_layout_segment *wlseg;
-       struct pnfs_layout_segment *clseg;
+       struct pnfs_layout_segment *lseg;
        struct nfs_writeverf direct_verf;
 };
 
+struct pnfs_commit_array {
+       struct list_head cinfo_list;
+       struct list_head lseg_list;
+       struct pnfs_layout_segment *lseg;
+       struct rcu_head rcu;
+       refcount_t refcount;
+       unsigned int nbuckets;
+       struct pnfs_commit_bucket buckets[];
+};
+
 struct pnfs_ds_commit_info {
-       int nwritten;
-       int ncommitting;
-       int nbuckets;
-       struct pnfs_commit_bucket *buckets;
+       struct list_head commits;
+       unsigned int nwritten;
+       unsigned int ncommitting;
+       const struct pnfs_commit_ops *ops;
 };
 
 struct nfs41_state_protection {
@@ -1386,22 +1395,11 @@ struct nfs41_free_stateid_res {
        unsigned int                    status;
 };
 
-static inline void
-nfs_free_pnfs_ds_cinfo(struct pnfs_ds_commit_info *cinfo)
-{
-       kfree(cinfo->buckets);
-}
-
 #else
 
 struct pnfs_ds_commit_info {
 };
 
-static inline void
-nfs_free_pnfs_ds_cinfo(struct pnfs_ds_commit_info *cinfo)
-{
-}
-
 #endif /* CONFIG_NFS_V4_1 */
 
 #ifdef CONFIG_NFS_V4_2