mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 14:12:07 +02:00
NFS: Update the flexfilelayout driver to use xdr_set_scratch_folio()
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
This commit is contained in:
parent
1a33b629af
commit
4b7c3b4c67
|
|
@ -388,20 +388,20 @@ ff_layout_alloc_lseg(struct pnfs_layout_hdr *lh,
|
|||
struct nfs4_ff_layout_segment *fls = NULL;
|
||||
struct xdr_stream stream;
|
||||
struct xdr_buf buf;
|
||||
struct page *scratch;
|
||||
struct folio *scratch;
|
||||
u64 stripe_unit;
|
||||
u32 mirror_array_cnt;
|
||||
__be32 *p;
|
||||
int i, rc;
|
||||
|
||||
dprintk("--> %s\n", __func__);
|
||||
scratch = alloc_page(gfp_flags);
|
||||
scratch = folio_alloc(gfp_flags, 0);
|
||||
if (!scratch)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
xdr_init_decode_pages(&stream, &buf, lgr->layoutp->pages,
|
||||
lgr->layoutp->len);
|
||||
xdr_set_scratch_page(&stream, scratch);
|
||||
xdr_set_scratch_folio(&stream, scratch);
|
||||
|
||||
/* stripe unit and mirror_array_cnt */
|
||||
rc = -EIO;
|
||||
|
|
@ -564,7 +564,7 @@ ff_layout_alloc_lseg(struct pnfs_layout_hdr *lh,
|
|||
ret = &fls->generic_hdr;
|
||||
dprintk("<-- %s (success)\n", __func__);
|
||||
out_free_page:
|
||||
__free_page(scratch);
|
||||
folio_put(scratch);
|
||||
return ret;
|
||||
out_err_free:
|
||||
_ff_layout_free_lseg(fls);
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
|
|||
{
|
||||
struct xdr_stream stream;
|
||||
struct xdr_buf buf;
|
||||
struct page *scratch;
|
||||
struct folio *scratch;
|
||||
struct list_head dsaddrs;
|
||||
struct nfs4_pnfs_ds_addr *da;
|
||||
struct nfs4_ff_layout_ds *new_ds = NULL;
|
||||
|
|
@ -56,7 +56,7 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
|
|||
int i, ret = -ENOMEM;
|
||||
|
||||
/* set up xdr stream */
|
||||
scratch = alloc_page(gfp_flags);
|
||||
scratch = folio_alloc(gfp_flags, 0);
|
||||
if (!scratch)
|
||||
goto out_err;
|
||||
|
||||
|
|
@ -70,7 +70,7 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
|
|||
INIT_LIST_HEAD(&dsaddrs);
|
||||
|
||||
xdr_init_decode_pages(&stream, &buf, pdev->pages, pdev->pglen);
|
||||
xdr_set_scratch_page(&stream, scratch);
|
||||
xdr_set_scratch_folio(&stream, scratch);
|
||||
|
||||
/* multipath count */
|
||||
p = xdr_inline_decode(&stream, 4);
|
||||
|
|
@ -163,7 +163,7 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
|
|||
kfree(da);
|
||||
}
|
||||
|
||||
__free_page(scratch);
|
||||
folio_put(scratch);
|
||||
return new_ds;
|
||||
|
||||
out_err_drain_dsaddrs:
|
||||
|
|
@ -177,7 +177,7 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,
|
|||
|
||||
kfree(ds_versions);
|
||||
out_scratch:
|
||||
__free_page(scratch);
|
||||
folio_put(scratch);
|
||||
out_err:
|
||||
kfree(new_ds);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user