opendata         1818 fs/nfs/nfs4proc.c static struct nfs4_state *nfs4_try_open_cached(struct nfs4_opendata *opendata)
opendata         1820 fs/nfs/nfs4proc.c 	struct nfs4_state *state = opendata->state;
opendata         1822 fs/nfs/nfs4proc.c 	int open_mode = opendata->o_arg.open_flags;
opendata         1823 fs/nfs/nfs4proc.c 	fmode_t fmode = opendata->o_arg.fmode;
opendata         1824 fs/nfs/nfs4proc.c 	enum open_claim_type4 claim = opendata->o_arg.claim;
opendata         1845 fs/nfs/nfs4proc.c 		nfs_release_seqid(opendata->o_arg.seqid);
opendata         1846 fs/nfs/nfs4proc.c 		if (!opendata->is_recover) {
opendata         2058 fs/nfs/nfs4proc.c 	struct nfs4_opendata *opendata;
opendata         2060 fs/nfs/nfs4proc.c 	opendata = nfs4_opendata_alloc(ctx->dentry, state->owner, 0, 0,
opendata         2062 fs/nfs/nfs4proc.c 	if (opendata == NULL)
opendata         2064 fs/nfs/nfs4proc.c 	opendata->state = state;
opendata         2066 fs/nfs/nfs4proc.c 	return opendata;
opendata         2069 fs/nfs/nfs4proc.c static int nfs4_open_recover_helper(struct nfs4_opendata *opendata,
opendata         2075 fs/nfs/nfs4proc.c 	if (!nfs4_mode_match_open_stateid(opendata->state, fmode))
opendata         2077 fs/nfs/nfs4proc.c 	opendata->o_arg.open_flags = 0;
opendata         2078 fs/nfs/nfs4proc.c 	opendata->o_arg.fmode = fmode;
opendata         2079 fs/nfs/nfs4proc.c 	opendata->o_arg.share_access = nfs4_map_atomic_open_share(
opendata         2080 fs/nfs/nfs4proc.c 			NFS_SB(opendata->dentry->d_sb),
opendata         2082 fs/nfs/nfs4proc.c 	memset(&opendata->o_res, 0, sizeof(opendata->o_res));
opendata         2083 fs/nfs/nfs4proc.c 	memset(&opendata->c_res, 0, sizeof(opendata->c_res));
opendata         2084 fs/nfs/nfs4proc.c 	nfs4_init_opendata_res(opendata);
opendata         2085 fs/nfs/nfs4proc.c 	ret = _nfs4_recover_proc_open(opendata);
opendata         2088 fs/nfs/nfs4proc.c 	newstate = nfs4_opendata_to_nfs4_state(opendata);
opendata         2091 fs/nfs/nfs4proc.c 	if (newstate != opendata->state)
opendata         2097 fs/nfs/nfs4proc.c static int nfs4_open_recover(struct nfs4_opendata *opendata, struct nfs4_state *state)
opendata         2103 fs/nfs/nfs4proc.c 	ret = nfs4_open_recover_helper(opendata, FMODE_READ|FMODE_WRITE);
opendata         2106 fs/nfs/nfs4proc.c 	ret = nfs4_open_recover_helper(opendata, FMODE_WRITE);
opendata         2109 fs/nfs/nfs4proc.c 	ret = nfs4_open_recover_helper(opendata, FMODE_READ);
opendata         2133 fs/nfs/nfs4proc.c 	struct nfs4_opendata *opendata;
opendata         2137 fs/nfs/nfs4proc.c 	opendata = nfs4_open_recoverdata_alloc(ctx, state,
opendata         2139 fs/nfs/nfs4proc.c 	if (IS_ERR(opendata))
opendata         2140 fs/nfs/nfs4proc.c 		return PTR_ERR(opendata);
opendata         2146 fs/nfs/nfs4proc.c 	opendata->o_arg.u.delegation_type = delegation_type;
opendata         2147 fs/nfs/nfs4proc.c 	status = nfs4_open_recover(opendata, state);
opendata         2148 fs/nfs/nfs4proc.c 	nfs4_opendata_put(opendata);
opendata         2242 fs/nfs/nfs4proc.c 	struct nfs4_opendata *opendata;
opendata         2245 fs/nfs/nfs4proc.c 	opendata = nfs4_open_recoverdata_alloc(ctx, state,
opendata         2247 fs/nfs/nfs4proc.c 	if (IS_ERR(opendata))
opendata         2248 fs/nfs/nfs4proc.c 		return PTR_ERR(opendata);
opendata         2249 fs/nfs/nfs4proc.c 	nfs4_stateid_copy(&opendata->o_arg.u.delegation, stateid);
opendata         2251 fs/nfs/nfs4proc.c 		err = nfs4_open_recover_helper(opendata, FMODE_READ|FMODE_WRITE);
opendata         2256 fs/nfs/nfs4proc.c 		err = nfs4_open_recover_helper(opendata, FMODE_WRITE);
opendata         2261 fs/nfs/nfs4proc.c 		err = nfs4_open_recover_helper(opendata, FMODE_READ);
opendata         2267 fs/nfs/nfs4proc.c 	nfs4_opendata_put(opendata);
opendata         2560 fs/nfs/nfs4proc.c 				struct nfs4_opendata *opendata,
opendata         2569 fs/nfs/nfs4proc.c 	if (opendata->o_res.access_supported == 0)
opendata         2583 fs/nfs/nfs4proc.c 	} else if ((fmode & FMODE_READ) && !opendata->file_created)
opendata         2587 fs/nfs/nfs4proc.c 	nfs_access_set_mask(&cache, opendata->o_res.access_result);
opendata         2653 fs/nfs/nfs4proc.c 	struct nfs4_opendata *opendata;
opendata         2656 fs/nfs/nfs4proc.c 	opendata = nfs4_open_recoverdata_alloc(ctx, state,
opendata         2658 fs/nfs/nfs4proc.c 	if (IS_ERR(opendata))
opendata         2659 fs/nfs/nfs4proc.c 		return PTR_ERR(opendata);
opendata         2660 fs/nfs/nfs4proc.c 	ret = nfs4_open_recover(opendata, state);
opendata         2663 fs/nfs/nfs4proc.c 	nfs4_opendata_put(opendata);
opendata         2921 fs/nfs/nfs4proc.c static unsigned nfs4_exclusive_attrset(struct nfs4_opendata *opendata,
opendata         2924 fs/nfs/nfs4proc.c 	const __u32 *bitmask = opendata->o_arg.server->exclcreat_bitmask;
opendata         2930 fs/nfs/nfs4proc.c 		attrset[i] = opendata->o_res.attrset[i];
opendata         2931 fs/nfs/nfs4proc.c 		if (opendata->o_arg.createmode == NFS4_CREATE_EXCLUSIVE4_1)
opendata         2935 fs/nfs/nfs4proc.c 	ret = (opendata->o_arg.createmode == NFS4_CREATE_EXCLUSIVE) ?
opendata         2957 fs/nfs/nfs4proc.c static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
opendata         2960 fs/nfs/nfs4proc.c 	struct nfs4_state_owner *sp = opendata->owner;
opendata         2965 fs/nfs/nfs4proc.c 	struct inode *dir = d_inode(opendata->dir);
opendata         2973 fs/nfs/nfs4proc.c 	ret = _nfs4_proc_open(opendata, ctx);
opendata         2977 fs/nfs/nfs4proc.c 	state = _nfs4_opendata_to_nfs4_state(opendata);
opendata         2984 fs/nfs/nfs4proc.c 	if (opendata->o_res.rflags & NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK)
opendata         2987 fs/nfs/nfs4proc.c 	dentry = opendata->dentry;
opendata         3001 fs/nfs/nfs4proc.c 	switch(opendata->o_arg.claim) {
opendata         3007 fs/nfs/nfs4proc.c 		if (!opendata->rpc_done)
opendata         3009 fs/nfs/nfs4proc.c 		if (opendata->o_res.delegation_type != 0)
opendata         3015 fs/nfs/nfs4proc.c 	pnfs_parse_lgopen(state->inode, opendata->lgp, ctx);
opendata         3017 fs/nfs/nfs4proc.c 	ret = nfs4_opendata_access(sp->so_cred, opendata, state,
opendata         3029 fs/nfs/nfs4proc.c 	if (!opendata->cancelled)
opendata         3030 fs/nfs/nfs4proc.c 		nfs4_sequence_free_slot(&opendata->o_res.seq_res);
opendata         3046 fs/nfs/nfs4proc.c 	struct nfs4_opendata *opendata;
opendata         3072 fs/nfs/nfs4proc.c 	opendata = nfs4_opendata_alloc(dentry, sp, fmode, flags,
opendata         3074 fs/nfs/nfs4proc.c 	if (opendata == NULL)
opendata         3086 fs/nfs/nfs4proc.c 		if (!opendata->f_attr.mdsthreshold) {
opendata         3087 fs/nfs/nfs4proc.c 			opendata->f_attr.mdsthreshold = pnfs_mdsthreshold_alloc();
opendata         3088 fs/nfs/nfs4proc.c 			if (!opendata->f_attr.mdsthreshold)
opendata         3091 fs/nfs/nfs4proc.c 		opendata->o_arg.open_bitmap = &nfs4_pnfs_open_bitmap[0];
opendata         3094 fs/nfs/nfs4proc.c 		opendata->state = nfs4_get_open_state(d_inode(dentry), sp);
opendata         3096 fs/nfs/nfs4proc.c 	status = _nfs4_open_and_get_state(opendata, flags, ctx);
opendata         3101 fs/nfs/nfs4proc.c 	if ((opendata->o_arg.open_flags & (O_CREAT|O_EXCL)) == (O_CREAT|O_EXCL) &&
opendata         3102 fs/nfs/nfs4proc.c 	    (opendata->o_arg.createmode != NFS4_CREATE_GUARDED)) {
opendata         3103 fs/nfs/nfs4proc.c 		unsigned attrs = nfs4_exclusive_attrset(opendata, sattr, &label);
opendata         3112 fs/nfs/nfs4proc.c 			nfs_fattr_init(opendata->o_res.f_attr);
opendata         3114 fs/nfs/nfs4proc.c 					opendata->o_res.f_attr, sattr,
opendata         3118 fs/nfs/nfs4proc.c 						opendata->o_res.f_attr);
opendata         3119 fs/nfs/nfs4proc.c 				nfs_setsecurity(state->inode, opendata->o_res.f_attr, olabel);
opendata         3124 fs/nfs/nfs4proc.c 	if (opened && opendata->file_created)
opendata         3127 fs/nfs/nfs4proc.c 	if (pnfs_use_threshold(ctx_th, opendata->f_attr.mdsthreshold, server)) {
opendata         3128 fs/nfs/nfs4proc.c 		*ctx_th = opendata->f_attr.mdsthreshold;
opendata         3129 fs/nfs/nfs4proc.c 		opendata->f_attr.mdsthreshold = NULL;
opendata         3134 fs/nfs/nfs4proc.c 	nfs4_opendata_put(opendata);
opendata         3140 fs/nfs/nfs4proc.c 	nfs4_opendata_put(opendata);