Lines Matching +full:data +full:- +full:mirror
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * NFSv4 flexfile layout driver data structures.
5 * Copyright (c) 2014, Primary Data, Inc. All rights reserved.
20 /* XXX: Let's filter out insanely large mirror count for now to avoid oom
45 struct list_head list; /* linked in mirror error_list */
146 if (idx < fls->mirror_array_cnt) in FF_LAYOUT_COMP()
147 return fls->mirror_array[idx]; in FF_LAYOUT_COMP()
154 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, idx); in FF_LAYOUT_DEVID_NODE() local
156 if (mirror != NULL) { in FF_LAYOUT_DEVID_NODE()
157 struct nfs4_ff_layout_ds *mirror_ds = mirror->mirror_ds; in FF_LAYOUT_DEVID_NODE()
160 return &mirror_ds->id_node; in FF_LAYOUT_DEVID_NODE()
168 return FF_LAYOUT_LSEG(lseg)->mirror_array_cnt; in FF_LAYOUT_MIRROR_COUNT()
174 return FF_LAYOUT_LSEG(lseg)->flags & FF_FLAGS_NO_IO_THRU_MDS; in ff_layout_no_fallback_to_mds()
180 return FF_LAYOUT_LSEG(lseg)->flags & FF_FLAGS_NO_READ_IO; in ff_layout_no_read_on_rw()
184 nfs4_ff_layout_ds_version(const struct nfs4_ff_layout_mirror *mirror) in nfs4_ff_layout_ds_version() argument
186 return mirror->mirror_ds->ds_versions[0].version; in nfs4_ff_layout_ds_version()
195 struct nfs4_ff_layout_mirror *mirror, u64 offset,
206 nfs4_ff_layout_select_ds_fh(struct nfs4_ff_layout_mirror *mirror);
208 nfs4_ff_layout_select_ds_stateid(const struct nfs4_ff_layout_mirror *mirror,
213 struct nfs4_ff_layout_mirror *mirror,
217 nfs4_ff_find_or_create_ds_client(struct nfs4_ff_layout_mirror *mirror,
220 const struct cred *ff_layout_get_ds_cred(struct nfs4_ff_layout_mirror *mirror,