Lines Matching refs:lgp

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