Lines Matching refs:lgp

1077 	struct nfs4_layoutget *lgp;  in pnfs_alloc_init_layoutget_args()  local
1081 lgp = kzalloc(sizeof(*lgp), gfp_flags); in pnfs_alloc_init_layoutget_args()
1082 if (lgp == NULL) in pnfs_alloc_init_layoutget_args()
1091 lgp->args.layout.pages = nfs4_alloc_pages(max_pages, gfp_flags); in pnfs_alloc_init_layoutget_args()
1092 if (!lgp->args.layout.pages) { in pnfs_alloc_init_layoutget_args()
1093 kfree(lgp); in pnfs_alloc_init_layoutget_args()
1096 lgp->args.layout.pglen = max_pages * PAGE_SIZE; in pnfs_alloc_init_layoutget_args()
1097 lgp->res.layoutp = &lgp->args.layout; in pnfs_alloc_init_layoutget_args()
1100 lgp->res.status = -NFS4ERR_DELAY; in pnfs_alloc_init_layoutget_args()
1102 lgp->args.minlength = PAGE_SIZE; in pnfs_alloc_init_layoutget_args()
1103 if (lgp->args.minlength > range->length) in pnfs_alloc_init_layoutget_args()
1104 lgp->args.minlength = range->length; in pnfs_alloc_init_layoutget_args()
1110 lgp->args.minlength = 0; in pnfs_alloc_init_layoutget_args()
1111 else if (i_size - range->offset < lgp->args.minlength) in pnfs_alloc_init_layoutget_args()
1112 lgp->args.minlength = i_size - range->offset; in pnfs_alloc_init_layoutget_args()
1115 lgp->args.maxcount = PNFS_LAYOUT_MAXSIZE; in pnfs_alloc_init_layoutget_args()
1116 pnfs_copy_range(&lgp->args.range, range); in pnfs_alloc_init_layoutget_args()
1117 lgp->args.type = server->pnfs_curr_ld->id; in pnfs_alloc_init_layoutget_args()
1118 lgp->args.inode = ino; in pnfs_alloc_init_layoutget_args()
1119 lgp->args.ctx = get_nfs_open_context(ctx); in pnfs_alloc_init_layoutget_args()
1120 nfs4_stateid_copy(&lgp->args.stateid, stateid); in pnfs_alloc_init_layoutget_args()
1121 lgp->gfp_flags = gfp_flags; in pnfs_alloc_init_layoutget_args()
1122 lgp->cred = ctx->cred; in pnfs_alloc_init_layoutget_args()
1123 return lgp; in pnfs_alloc_init_layoutget_args()
1126 void pnfs_layoutget_free(struct nfs4_layoutget *lgp) in pnfs_layoutget_free() argument
1128 size_t max_pages = lgp->args.layout.pglen / PAGE_SIZE; in pnfs_layoutget_free()
1130 nfs4_free_pages(lgp->args.layout.pages, max_pages); in pnfs_layoutget_free()
1131 pnfs_put_layout_hdr(lgp->lo); in pnfs_layoutget_free()
1132 put_nfs_open_context(lgp->args.ctx); in pnfs_layoutget_free()
1133 kfree(lgp); in pnfs_layoutget_free()
1965 struct nfs4_layoutget *lgp; in pnfs_update_layout() local
2118 lgp = pnfs_alloc_init_layoutget_args(ino, ctx, &stateid, &arg, gfp_flags); in pnfs_update_layout()
2119 if (!lgp) { in pnfs_update_layout()
2126 lgp->lo = lo; in pnfs_update_layout()
2129 lseg = nfs4_proc_layoutget(lgp, &timeout); in pnfs_update_layout()
2241 struct nfs4_layoutget *lgp; in _lgopen_prepare_attached() local
2252 lgp = pnfs_alloc_init_layoutget_args(ino, ctx, &current_stateid, in _lgopen_prepare_attached()
2254 if (!lgp) { in _lgopen_prepare_attached()
2260 lgp->lo = lo; in _lgopen_prepare_attached()
2261 data->lgp = lgp; in _lgopen_prepare_attached()
2262 data->o_arg.lg_args = &lgp->args; in _lgopen_prepare_attached()
2263 data->o_res.lg_res = &lgp->res; in _lgopen_prepare_attached()
2276 struct nfs4_layoutget *lgp; in _lgopen_prepare_floating() local
2278 lgp = pnfs_alloc_init_layoutget_args(ino, ctx, &current_stateid, in _lgopen_prepare_floating()
2280 if (!lgp) in _lgopen_prepare_floating()
2282 data->lgp = lgp; in _lgopen_prepare_floating()
2283 data->o_arg.lg_args = &lgp->args; in _lgopen_prepare_floating()
2284 data->o_res.lg_res = &lgp->res; in _lgopen_prepare_floating()
2298 if (data->lgp) in pnfs_lgopen_prepare()
2306 void pnfs_parse_lgopen(struct inode *ino, struct nfs4_layoutget *lgp, in pnfs_parse_lgopen() argument
2314 if (!lgp) in pnfs_parse_lgopen()
2316 dprintk("%s: entered with status %i\n", __func__, lgp->res.status); in pnfs_parse_lgopen()
2317 if (lgp->res.status) { in pnfs_parse_lgopen()
2318 switch (lgp->res.status) { in pnfs_parse_lgopen()
2339 if (!lgp->lo) { in pnfs_parse_lgopen()
2343 lgp->lo = lo; in pnfs_parse_lgopen()
2345 lo = lgp->lo; in pnfs_parse_lgopen()
2347 lseg = pnfs_layout_process(lgp); in pnfs_parse_lgopen()
2349 iomode = lgp->args.range.iomode; in pnfs_parse_lgopen()
2355 void nfs4_lgopen_release(struct nfs4_layoutget *lgp) in nfs4_lgopen_release() argument
2357 if (lgp != NULL) { in nfs4_lgopen_release()
2358 if (lgp->lo) { in nfs4_lgopen_release()
2359 pnfs_clear_first_layoutget(lgp->lo); in nfs4_lgopen_release()
2360 nfs_layoutget_end(lgp->lo); in nfs4_lgopen_release()
2362 pnfs_layoutget_free(lgp); in nfs4_lgopen_release()
2367 pnfs_layout_process(struct nfs4_layoutget *lgp) in pnfs_layout_process() argument
2369 struct pnfs_layout_hdr *lo = lgp->lo; in pnfs_layout_process()
2370 struct nfs4_layoutget_res *res = &lgp->res; in pnfs_layout_process()
2379 lseg = NFS_SERVER(ino)->pnfs_curr_ld->alloc_lseg(lo, res, lgp->gfp_flags); in pnfs_layout_process()
2408 pnfs_set_layout_stateid(lo, &res->stateid, lgp->cred, false); in pnfs_layout_process()
2422 pnfs_set_layout_stateid(lo, &res->stateid, lgp->cred, true); in pnfs_layout_process()