mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
NFS: Update the blocklayout to use xdr_set_scratch_folio()
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
This commit is contained in:
parent
c9cefd7ae8
commit
cf289099ab
|
|
@ -676,7 +676,7 @@ bl_alloc_lseg(struct pnfs_layout_hdr *lo, struct nfs4_layoutget_res *lgr,
|
|||
struct pnfs_layout_segment *lseg;
|
||||
struct xdr_buf buf;
|
||||
struct xdr_stream xdr;
|
||||
struct page *scratch;
|
||||
struct folio *scratch;
|
||||
int status, i;
|
||||
uint32_t count;
|
||||
__be32 *p;
|
||||
|
|
@ -689,13 +689,13 @@ bl_alloc_lseg(struct pnfs_layout_hdr *lo, struct nfs4_layoutget_res *lgr,
|
|||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
status = -ENOMEM;
|
||||
scratch = alloc_page(gfp_mask);
|
||||
scratch = folio_alloc(gfp_mask, 0);
|
||||
if (!scratch)
|
||||
goto out;
|
||||
|
||||
xdr_init_decode_pages(&xdr, &buf,
|
||||
lgr->layoutp->pages, lgr->layoutp->len);
|
||||
xdr_set_scratch_page(&xdr, scratch);
|
||||
xdr_set_scratch_folio(&xdr, scratch);
|
||||
|
||||
status = -EIO;
|
||||
p = xdr_inline_decode(&xdr, 4);
|
||||
|
|
@ -744,7 +744,7 @@ bl_alloc_lseg(struct pnfs_layout_hdr *lo, struct nfs4_layoutget_res *lgr,
|
|||
}
|
||||
|
||||
out_free_scratch:
|
||||
__free_page(scratch);
|
||||
folio_put(scratch);
|
||||
out:
|
||||
dprintk("%s returns %d\n", __func__, status);
|
||||
switch (status) {
|
||||
|
|
|
|||
|
|
@ -541,16 +541,16 @@ bl_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
|
|||
struct pnfs_block_dev *top;
|
||||
struct xdr_stream xdr;
|
||||
struct xdr_buf buf;
|
||||
struct page *scratch;
|
||||
struct folio *scratch;
|
||||
int nr_volumes, ret, i;
|
||||
__be32 *p;
|
||||
|
||||
scratch = alloc_page(gfp_mask);
|
||||
scratch = folio_alloc(gfp_mask, 0);
|
||||
if (!scratch)
|
||||
goto out;
|
||||
|
||||
xdr_init_decode_pages(&xdr, &buf, pdev->pages, pdev->pglen);
|
||||
xdr_set_scratch_page(&xdr, scratch);
|
||||
xdr_set_scratch_folio(&xdr, scratch);
|
||||
|
||||
p = xdr_inline_decode(&xdr, sizeof(__be32));
|
||||
if (!p)
|
||||
|
|
@ -582,7 +582,7 @@ bl_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
|
|||
out_free_volumes:
|
||||
kfree(volumes);
|
||||
out_free_scratch:
|
||||
__free_page(scratch);
|
||||
folio_put(scratch);
|
||||
out:
|
||||
return node;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user