File tree Expand file tree Collapse file tree 3 files changed +13
-3
lines changed Expand file tree Collapse file tree 3 files changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -830,6 +830,14 @@ ff_layout_pg_get_read(struct nfs_pageio_descriptor *pgio,
830
830
}
831
831
}
832
832
833
+ static void
834
+ ff_layout_pg_check_layout (struct nfs_pageio_descriptor * pgio ,
835
+ struct nfs_page * req )
836
+ {
837
+ pnfs_generic_pg_check_layout (pgio );
838
+ pnfs_generic_pg_check_range (pgio , req );
839
+ }
840
+
833
841
static void
834
842
ff_layout_pg_init_read (struct nfs_pageio_descriptor * pgio ,
835
843
struct nfs_page * req )
@@ -840,7 +848,7 @@ ff_layout_pg_init_read(struct nfs_pageio_descriptor *pgio,
840
848
int ds_idx ;
841
849
842
850
retry :
843
- pnfs_generic_pg_check_layout (pgio );
851
+ ff_layout_pg_check_layout (pgio , req );
844
852
/* Use full layout for now */
845
853
if (!pgio -> pg_lseg ) {
846
854
ff_layout_pg_get_read (pgio , req , false);
@@ -900,7 +908,7 @@ ff_layout_pg_init_write(struct nfs_pageio_descriptor *pgio,
900
908
int i ;
901
909
902
910
retry :
903
- pnfs_generic_pg_check_layout (pgio );
911
+ ff_layout_pg_check_layout (pgio , req );
904
912
if (!pgio -> pg_lseg ) {
905
913
pgio -> pg_lseg = pnfs_update_layout (pgio -> pg_inode ,
906
914
nfs_req_openctx (req ),
Original file line number Diff line number Diff line change @@ -2611,14 +2611,15 @@ EXPORT_SYMBOL_GPL(pnfs_generic_pg_check_layout);
2611
2611
* Check for any intersection between the request and the pgio->pg_lseg,
2612
2612
* and if none, put this pgio->pg_lseg away.
2613
2613
*/
2614
- static void
2614
+ void
2615
2615
pnfs_generic_pg_check_range (struct nfs_pageio_descriptor * pgio , struct nfs_page * req )
2616
2616
{
2617
2617
if (pgio -> pg_lseg && !pnfs_lseg_request_intersecting (pgio -> pg_lseg , req )) {
2618
2618
pnfs_put_lseg (pgio -> pg_lseg );
2619
2619
pgio -> pg_lseg = NULL ;
2620
2620
}
2621
2621
}
2622
+ EXPORT_SYMBOL_GPL (pnfs_generic_pg_check_range );
2622
2623
2623
2624
void
2624
2625
pnfs_generic_pg_init_read (struct nfs_pageio_descriptor * pgio , struct nfs_page * req )
Original file line number Diff line number Diff line change @@ -252,6 +252,7 @@ void pnfs_put_lseg(struct pnfs_layout_segment *lseg);
252
252
void set_pnfs_layoutdriver (struct nfs_server * , const struct nfs_fh * , struct nfs_fsinfo * );
253
253
void unset_pnfs_layoutdriver (struct nfs_server * );
254
254
void pnfs_generic_pg_check_layout (struct nfs_pageio_descriptor * pgio );
255
+ void pnfs_generic_pg_check_range (struct nfs_pageio_descriptor * pgio , struct nfs_page * req );
255
256
void pnfs_generic_pg_init_read (struct nfs_pageio_descriptor * , struct nfs_page * );
256
257
int pnfs_generic_pg_readpages (struct nfs_pageio_descriptor * desc );
257
258
void pnfs_generic_pg_init_write (struct nfs_pageio_descriptor * pgio ,
You can’t perform that action at this time.
0 commit comments