Lines Matching +full:single +full:- +full:wire
26 But unlike the LOCALIO protocol, the sockaddr-based matching didn't
42 - With LOCALIO:
48 - Without LOCALIO:
55 - With LOCALIO:
61 - Without LOCALIO:
93 deciding if the NFS client and server are co-located on the same
101 same host. The handshake uses a secret that is sent over the wire,
103 in shared kernel memory if they are truly co-located.
115 onus on the server to somehow discover that the client is co-located
122 6. Why is having the client perform a server-side file OPEN, without
127 dealing with small files its best to avoid going over the wire
129 benefits of avoiding the wire for doing the small file I/O itself.
131 client perform a server-side file open, without using RPC, is ideal.
141 that was passed over the wire is used directly as the key in the
151 as they do for non-LOCALIO.
161 The LOCALIO auxiliary RPC protocol consists of a single "UUID_IS_LOCAL"
163 NFS server can see the nonce (single-use UUID) the client generated and
165 standard, nor does it need to be considering it is Linux-to-Linux
174 by IANA, see https://www.iana.org/assignments/rpc-program-numbers/ ):
200 to generate a nonce (single-use UUID) and associated short-lived
204 transfer the nfs_uuid_t from its nfs_uuids to the nn->nfsd_serv
211 access nn->nfsd_serv with proper rcu read access). It is this client
213 objects to span from the host kernel's nfsd to per-container knfsd
221 allow proper network namespace (net-ns) and NFSD object refcounting:
223 We don't want to keep a long-term counted reference on each NFSD's
224 net-ns in the client because that prevents a server container from
227 So we avoid taking a reference at all and rely on the per-cpu
229 the net-ns active. This involves allowing the NFSD's net-ns exit
230 code to iterate all active clients and clear their ->net pointers
231 (which are needed to find the per-cpu-refcount for the nfsd_serv).
235 - Embed nfs_uuid_t in nfs_client. nfs_uuid_t provides a list_head
236 that can be used to find the client. It does add the 16-byte
242 - When the nfs server confirms that the uuid_t is local, it moves
243 the nfs_uuid_t onto a per-net-ns list in NFSD's nfsd_net.
245 - When each server's net-ns is shutting down - in a "pre_exit"
246 handler, all these nfs_uuid_t have their ->net cleared. There is
248 handlers so any caller that sees nfs_uuid_t ->net as not NULL can
249 safely manage the per-cpu-refcount for nfsd_serv.
251 - The client's nfs_uuid_t is passed to nfsd_open_local_fh() so it
252 can safely dereference ->net in a private rcu_read_lock() section
257 nn->nfsd_serv is not destroyed while in use by nfsd_open_local_fh(), and
262 reference for the nfsd_file and associated nn->nfsd_serv using
267 NFSD's net-ns (and nfsd_net by association) may have been destroyed
268 by nfsd_destroy_serv() via nfsd_shutdown_net() -- which is only
269 possible given the nfs_uuid_t ->net pointer managemenet detailed
278 nn->nfsd_serv, without having a proper reference on nn->nfsd_serv.
284 performance, alternatives to the traditional NFS wire protocol (SUNRPC
294 both the associated nfsd network namespace and nn->nfsd_serv in terms of
296 nfsd objects (be it struct net or nn->nfsd_serv) it returns -ENXIO
312 Localio is only supported when UNIX-style authentication (AUTH_UNIX, aka
322 the server's per-namespace nfsd_net struct. With traditional NFS, the
333 - Client and server both on the same host.
335 - All permutations of client and server support enablement for both
338 - Testing against NFS storage products that don't support the LOCALIO
341 - Client on host, server within a container (for both v3 and v4.2).
345 - Formalizing these test scenarios in terms of existing test
346 infrastructure is on-going. Initial regular coverage is provided in
347 terms of ktest running xfstests against a LOCALIO-enabled NFS loopback
349 https://evilpiepirate.org/~testdashboard/ci?user=snitzer&branch=snitm-nfs-next
352 - Various kdevops testing (in terms of "Chuck's BuildBot") has been
354 regressions to non-LOCALIO NFS use cases.
356 - All of Hammerspace's various sanity tests pass with LOCALIO enabled