Lines Matching refs:lgp

1092 	struct nfs4_layoutget *lgp;
1096 lgp = kzalloc(sizeof(*lgp), gfp_flags);
1097 if (lgp == NULL)
1106 lgp->args.layout.pages = nfs4_alloc_pages(max_pages, gfp_flags);
1107 if (!lgp->args.layout.pages) {
1108 kfree(lgp);
1111 lgp->args.layout.pglen = max_pages * PAGE_SIZE;
1112 lgp->res.layoutp = &lgp->args.layout;
1115 lgp->res.status = -NFS4ERR_DELAY;
1117 lgp->args.minlength = PAGE_SIZE;
1118 if (lgp->args.minlength > range->length)
1119 lgp->args.minlength = range->length;
1125 lgp->args.minlength = 0;
1126 else if (i_size - range->offset < lgp->args.minlength)
1127 lgp->args.minlength = i_size - range->offset;
1130 lgp->args.maxcount = PNFS_LAYOUT_MAXSIZE;
1131 pnfs_copy_range(&lgp->args.range, range);
1132 lgp->args.type = server->pnfs_curr_ld->id;
1133 lgp->args.inode = ino;
1134 lgp->args.ctx = get_nfs_open_context(ctx);
1135 nfs4_stateid_copy(&lgp->args.stateid, stateid);
1136 lgp->gfp_flags = gfp_flags;
1137 lgp->cred = ctx->cred;
1138 return lgp;
1141 void pnfs_layoutget_free(struct nfs4_layoutget *lgp)
1143 size_t max_pages = lgp->args.layout.pglen / PAGE_SIZE;
1145 nfs4_free_pages(lgp->args.layout.pages, max_pages);
1146 pnfs_put_layout_hdr(lgp->lo);
1147 put_nfs_open_context(lgp->args.ctx);
1148 kfree(lgp);
1981 struct nfs4_layoutget *lgp;
2135 lgp = pnfs_alloc_init_layoutget_args(ino, ctx, &stateid, &arg, gfp_flags);
2136 if (!lgp) {
2144 lgp->lo = lo;
2147 lseg = nfs4_proc_layoutget(lgp, &timeout);
2265 struct nfs4_layoutget *lgp;
2276 lgp = pnfs_alloc_init_layoutget_args(ino, ctx, &current_stateid, &rng,
2278 if (!lgp) {
2284 lgp->lo = lo;
2285 data->lgp = lgp;
2286 data->o_arg.lg_args = &lgp->args;
2287 data->o_res.lg_res = &lgp->res;
2300 struct nfs4_layoutget *lgp;
2302 lgp = pnfs_alloc_init_layoutget_args(ino, ctx, &current_stateid, &rng,
2304 if (!lgp)
2306 data->lgp = lgp;
2307 data->o_arg.lg_args = &lgp->args;
2308 data->o_res.lg_res = &lgp->res;
2322 if (data->lgp)
2330 void pnfs_parse_lgopen(struct inode *ino, struct nfs4_layoutget *lgp,
2338 if (!lgp)
2340 dprintk("%s: entered with status %i\n", __func__, lgp->res.status);
2341 if (lgp->res.status) {
2342 switch (lgp->res.status) {
2363 if (!lgp->lo) {
2367 lgp->lo = lo;
2369 lo = lgp->lo;
2371 lseg = pnfs_layout_process(lgp);
2373 iomode = lgp->args.range.iomode;
2379 void nfs4_lgopen_release(struct nfs4_layoutget *lgp)
2381 if (lgp != NULL) {
2382 if (lgp->lo) {
2383 pnfs_clear_first_layoutget(lgp->lo);
2384 nfs_layoutget_end(lgp->lo);
2386 pnfs_layoutget_free(lgp);
2391 pnfs_layout_process(struct nfs4_layoutget *lgp)
2393 struct pnfs_layout_hdr *lo = lgp->lo;
2394 struct nfs4_layoutget_res *res = &lgp->res;
2403 lseg = NFS_SERVER(ino)->pnfs_curr_ld->alloc_lseg(lo, res, lgp->gfp_flags);
2433 pnfs_set_layout_stateid(lo, &res->stateid, lgp->cred, false);
2447 pnfs_set_layout_stateid(lo, &res->stateid, lgp->cred, true);