@@ -149,6 +149,8 @@ struct pnfs_layoutdriver_type {
149
149
const struct nfs_pageio_ops * pg_write_ops ;
150
150
151
151
struct pnfs_ds_commit_info * (* get_ds_info ) (struct inode * inode );
152
+ void (* release_ds_info )(struct pnfs_ds_commit_info * ,
153
+ struct inode * inode );
152
154
void (* mark_request_commit ) (struct nfs_page * req ,
153
155
struct pnfs_layout_segment * lseg ,
154
156
struct nfs_commit_info * cinfo ,
@@ -468,6 +470,15 @@ pnfs_init_ds_commit_info(struct pnfs_ds_commit_info *fl_cinfo)
468
470
INIT_LIST_HEAD (& fl_cinfo -> commits );
469
471
}
470
472
473
+ static inline void
474
+ pnfs_release_ds_info (struct pnfs_ds_commit_info * fl_cinfo , struct inode * inode )
475
+ {
476
+ struct pnfs_layoutdriver_type * ld = NFS_SERVER (inode )-> pnfs_curr_ld ;
477
+
478
+ if (ld != NULL && ld -> release_ds_info != NULL )
479
+ ld -> release_ds_info (fl_cinfo , inode );
480
+ }
481
+
471
482
static inline void
472
483
pnfs_generic_mark_devid_invalid (struct nfs4_deviceid_node * node )
473
484
{
@@ -770,6 +781,11 @@ pnfs_init_ds_commit_info(struct pnfs_ds_commit_info *fl_cinfo)
770
781
{
771
782
}
772
783
784
+ static inline void
785
+ pnfs_release_ds_info (struct pnfs_ds_commit_info * fl_cinfo , struct inode * inode )
786
+ {
787
+ }
788
+
773
789
static inline bool
774
790
pnfs_mark_request_commit (struct nfs_page * req , struct pnfs_layout_segment * lseg ,
775
791
struct nfs_commit_info * cinfo , u32 ds_commit_idx )
0 commit comments