diff options
Diffstat (limited to 'fs/nfs/nfs4filelayout.h')
-rw-r--r-- | fs/nfs/nfs4filelayout.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/fs/nfs/nfs4filelayout.h b/fs/nfs/nfs4filelayout.h index 21190bb1f5e3..333a3ac97606 100644 --- a/fs/nfs/nfs4filelayout.h +++ b/fs/nfs/nfs4filelayout.h | |||
@@ -77,6 +77,13 @@ struct nfs4_file_layout_dsaddr { | |||
77 | struct nfs4_fl_commit_bucket { | 77 | struct nfs4_fl_commit_bucket { |
78 | struct list_head written; | 78 | struct list_head written; |
79 | struct list_head committing; | 79 | struct list_head committing; |
80 | struct pnfs_layout_segment *wlseg; | ||
81 | struct pnfs_layout_segment *clseg; | ||
82 | }; | ||
83 | |||
84 | struct nfs4_fl_commit_info { | ||
85 | int nbuckets; | ||
86 | struct nfs4_fl_commit_bucket *buckets; | ||
80 | }; | 87 | }; |
81 | 88 | ||
82 | struct nfs4_filelayout_segment { | 89 | struct nfs4_filelayout_segment { |
@@ -89,10 +96,19 @@ struct nfs4_filelayout_segment { | |||
89 | struct nfs4_file_layout_dsaddr *dsaddr; /* Point to GETDEVINFO data */ | 96 | struct nfs4_file_layout_dsaddr *dsaddr; /* Point to GETDEVINFO data */ |
90 | unsigned int num_fh; | 97 | unsigned int num_fh; |
91 | struct nfs_fh **fh_array; | 98 | struct nfs_fh **fh_array; |
92 | struct nfs4_fl_commit_bucket *commit_buckets; /* Sort commits to ds */ | ||
93 | int number_of_buckets; | ||
94 | }; | 99 | }; |
95 | 100 | ||
101 | struct nfs4_filelayout { | ||
102 | struct pnfs_layout_hdr generic_hdr; | ||
103 | struct nfs4_fl_commit_info commit_info; | ||
104 | }; | ||
105 | |||
106 | static inline struct nfs4_filelayout * | ||
107 | FILELAYOUT_FROM_HDR(struct pnfs_layout_hdr *lo) | ||
108 | { | ||
109 | return container_of(lo, struct nfs4_filelayout, generic_hdr); | ||
110 | } | ||
111 | |||
96 | static inline struct nfs4_filelayout_segment * | 112 | static inline struct nfs4_filelayout_segment * |
97 | FILELAYOUT_LSEG(struct pnfs_layout_segment *lseg) | 113 | FILELAYOUT_LSEG(struct pnfs_layout_segment *lseg) |
98 | { | 114 | { |