/* * Useful to allow a client to negotiate if localio * possible with its server. * * See Documentation/filesystems/nfs/localio.rst for more detail.
*/ typedefstruct {
uuid_t uuid; unsigned nfs3_localio_probe_count; /* this struct is over a cacheline, avoid bouncing */
spinlock_t ____cacheline_aligned lock; struct list_head list;
spinlock_t *list_lock; /* nn->local_clients_lock */ struct net __rcu *net; /* nfsd's network namespace */ struct auth_domain *dom; /* auth_domain for localio */ /* Local files to close when net is shut down or exports change */ struct list_head files;
} nfs_uuid_t;
staticinlinevoid nfs_to_nfsd_net_put(struct net *net)
{ /* * Once reference to net (and associated nfsd_serv) is dropped, NFSD * could be unloaded, so ensure safe return from nfsd_net_put() by * always taking RCU.
*/
rcu_read_lock();
nfs_to->nfsd_net_put(net);
rcu_read_unlock();
}
staticinlinevoid nfs_to_nfsd_file_put_local(struct nfsd_file __rcu **localio)
{ /* * Either *localio must be guaranteed to be non-NULL, or caller * must prevent nfsd shutdown from completing as nfs_close_local_fh() * does by blocking the nfs_uuid from being finally put.
*/ struct net *net;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.