Lines Matching refs:lgp

1093 	struct nfs4_layoutget *lgp;
1097 lgp = kzalloc(sizeof(*lgp), gfp_flags);
1098 if (lgp == NULL)
1107 lgp->args.layout.pages = nfs4_alloc_pages(max_pages, gfp_flags);
1108 if (!lgp->args.layout.pages) {
1109 kfree(lgp);
1112 lgp->args.layout.pglen = max_pages * PAGE_SIZE;
1113 lgp->res.layoutp = &lgp->args.layout;
1116 lgp->res.status = -NFS4ERR_DELAY;
1118 lgp->args.minlength = PAGE_SIZE;
1119 if (lgp->args.minlength > range->length)
1120 lgp->args.minlength = range->length;
1126 lgp->args.minlength = 0;
1127 else if (i_size - range->offset < lgp->args.minlength)
1128 lgp->args.minlength = i_size - range->offset;
1131 lgp->args.maxcount = PNFS_LAYOUT_MAXSIZE;
1132 pnfs_copy_range(&lgp->args.range, range);
1133 lgp->args.type = server->pnfs_curr_ld->id;
1134 lgp->args.inode = ino;
1135 lgp->args.ctx = get_nfs_open_context(ctx);
1136 nfs4_stateid_copy(&lgp->args.stateid, stateid);
1137 lgp->gfp_flags = gfp_flags;
1138 lgp->cred = ctx->cred;
1139 return lgp;
1142 void pnfs_layoutget_free(struct nfs4_layoutget *lgp)
1144 size_t max_pages = lgp->args.layout.pglen / PAGE_SIZE;
1146 nfs4_free_pages(lgp->args.layout.pages, max_pages);
1147 if (lgp->args.inode)
1148 pnfs_put_layout_hdr(NFS_I(lgp->args.inode)->layout);
1149 put_nfs_open_context(lgp->args.ctx);
1150 kfree(lgp);
1984 struct nfs4_layoutget *lgp;
2138 lgp = pnfs_alloc_init_layoutget_args(ino, ctx, &stateid, &arg, gfp_flags);
2139 if (!lgp) {
2147 lseg = nfs4_proc_layoutget(lgp, &timeout);
2265 struct nfs4_layoutget *lgp;
2276 lgp = pnfs_alloc_init_layoutget_args(ino, ctx, &current_stateid,
2278 if (!lgp) {
2284 data->lgp = lgp;
2285 data->o_arg.lg_args = &lgp->args;
2286 data->o_res.lg_res = &lgp->res;
2298 struct nfs4_layoutget *lgp;
2300 lgp = pnfs_alloc_init_layoutget_args(NULL, ctx, &current_stateid,
2302 if (!lgp)
2304 data->lgp = lgp;
2305 data->o_arg.lg_args = &lgp->args;
2306 data->o_res.lg_res = &lgp->res;
2326 void pnfs_parse_lgopen(struct inode *ino, struct nfs4_layoutget *lgp,
2334 if (!lgp)
2336 dprintk("%s: entered with status %i\n", __func__, lgp->res.status);
2337 if (lgp->res.status) {
2338 switch (lgp->res.status) {
2359 if (!lgp->args.inode) {
2363 lgp->args.inode = ino;
2365 lo = NFS_I(lgp->args.inode)->layout;
2367 lseg = pnfs_layout_process(lgp);
2369 iomode = lgp->args.range.iomode;
2375 void nfs4_lgopen_release(struct nfs4_layoutget *lgp)
2377 if (lgp != NULL) {
2378 struct inode *inode = lgp->args.inode;
2384 pnfs_layoutget_free(lgp);
2389 pnfs_layout_process(struct nfs4_layoutget *lgp)
2391 struct pnfs_layout_hdr *lo = NFS_I(lgp->args.inode)->layout;
2392 struct nfs4_layoutget_res *res = &lgp->res;
2401 lseg = NFS_SERVER(ino)->pnfs_curr_ld->alloc_lseg(lo, res, lgp->gfp_flags);
2431 pnfs_set_layout_stateid(lo, &res->stateid, lgp->cred, false);
2447 pnfs_set_layout_stateid(lo, &res->stateid, lgp->cred, true);