• Home
  • Raw
  • Download

Lines Matching +full:access +full:- +full:ns

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
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
131 client perform a server-side file open, without using RPC, is ideal.
151 as they do for non-LOCALIO.
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
253 to allow safe access to the associated nfsd_net and nfsd_serv.
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.
285 with XDR) must be provided to access the backing filesystem.
293 server's fs/nfsd/localio.c:nfsd_open_local_fh() and carefully access
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
325 Localio is only supported when UNIX-style authentication (AUTH_UNIX, aka
330 access is used. The auth_domain established as part of the traditional
331 NFS client access to the NFS server is also used for LOCALIO.
333 Relative to containers, LOCALIO gives the client access to the network
334 namespace the server has. This is required to allow the client to access
335 the server's per-namespace nfsd_net struct. With traditional NFS, the
336 client is afforded this same level of access (albeit in terms of the NFS
344 and commit access have proven stable against various test scenarios:
346 - Client and server both on the same host.
348 - All permutations of client and server support enablement for both
351 - Testing against NFS storage products that don't support the LOCALIO
354 - Client on host, server within a container (for both v3 and v4.2).
358 - Formalizing these test scenarios in terms of existing test
359 infrastructure is on-going. Initial regular coverage is provided in
360 terms of ktest running xfstests against a LOCALIO-enabled NFS loopback
362 https://evilpiepirate.org/~testdashboard/ci?user=snitzer&branch=snitm-nfs-next
365 - Various kdevops testing (in terms of "Chuck's BuildBot") has been
367 regressions to non-LOCALIO NFS use cases.
369 - All of Hammerspace's various sanity tests pass with LOCALIO enabled