@@ -1325,15 +1325,16 @@ ff_layout_need_layoutcommit(struct pnfs_layout_segment *lseg)
1325
1325
* we always send layoutcommit after DS writes.
1326
1326
*/
1327
1327
static void
1328
- ff_layout_set_layoutcommit (struct nfs_pgio_header * hdr )
1328
+ ff_layout_set_layoutcommit (struct inode * inode ,
1329
+ struct pnfs_layout_segment * lseg ,
1330
+ loff_t end_offset )
1329
1331
{
1330
- if (!ff_layout_need_layoutcommit (hdr -> lseg ))
1332
+ if (!ff_layout_need_layoutcommit (lseg ))
1331
1333
return ;
1332
1334
1333
- pnfs_set_layoutcommit (hdr -> inode , hdr -> lseg ,
1334
- hdr -> mds_offset + hdr -> res .count );
1335
- dprintk ("%s inode %lu pls_end_pos %lu\n" , __func__ , hdr -> inode -> i_ino ,
1336
- (unsigned long ) NFS_I (hdr -> inode )-> layout -> plh_lwb );
1335
+ pnfs_set_layoutcommit (inode , lseg , end_offset );
1336
+ dprintk ("%s inode %lu pls_end_pos %llu\n" , __func__ , inode -> i_ino ,
1337
+ (unsigned long long ) NFS_I (inode )-> layout -> plh_lwb );
1337
1338
}
1338
1339
1339
1340
static bool
@@ -1494,7 +1495,8 @@ static int ff_layout_write_done_cb(struct rpc_task *task,
1494
1495
1495
1496
if (hdr -> res .verf -> committed == NFS_FILE_SYNC ||
1496
1497
hdr -> res .verf -> committed == NFS_DATA_SYNC )
1497
- ff_layout_set_layoutcommit (hdr );
1498
+ ff_layout_set_layoutcommit (hdr -> inode , hdr -> lseg ,
1499
+ hdr -> mds_offset + (loff_t )hdr -> res .count );
1498
1500
1499
1501
/* zero out fattr since we don't care DS attr at all */
1500
1502
hdr -> fattr .valid = 0 ;
@@ -1530,8 +1532,7 @@ static int ff_layout_commit_done_cb(struct rpc_task *task,
1530
1532
return - EAGAIN ;
1531
1533
}
1532
1534
1533
- if (ff_layout_need_layoutcommit (data -> lseg ))
1534
- pnfs_set_layoutcommit (data -> inode , data -> lseg , data -> lwb );
1535
+ ff_layout_set_layoutcommit (data -> inode , data -> lseg , data -> lwb );
1535
1536
1536
1537
return 0 ;
1537
1538
}
0 commit comments