5ffaf85541
This queue is used for sleeping in kernel and it have to be per-net since we don't want to wake any other waiters except in out network nemespace. BTW, move wq to per-net data is easy. But some way to handle upcall timeouts have to be provided. On message destroy in case of timeout, tasks, waiting for message to be delivered, should be awakened. Thus, some data required to located the right wait queue. Chosen solution replaces rpc_pipe_msg object with new introduced bl_pipe_msg object, containing rpc_pipe_msg and proper wq. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
28 lines
551 B
C
28 lines
551 B
C
#ifndef __NFS_NETNS_H__
|
|
#define __NFS_NETNS_H__
|
|
|
|
#include <net/net_namespace.h>
|
|
#include <net/netns/generic.h>
|
|
|
|
struct bl_dev_msg {
|
|
int32_t status;
|
|
uint32_t major, minor;
|
|
};
|
|
|
|
struct nfs_net {
|
|
struct cache_detail *nfs_dns_resolve;
|
|
struct rpc_pipe *bl_device_pipe;
|
|
struct bl_dev_msg bl_mount_reply;
|
|
wait_queue_head_t bl_wq;
|
|
struct list_head nfs_client_list;
|
|
struct list_head nfs_volume_list;
|
|
#ifdef CONFIG_NFS_V4
|
|
struct idr cb_ident_idr; /* Protected by nfs_client_lock */
|
|
#endif
|
|
spinlock_t nfs_client_lock;
|
|
};
|
|
|
|
extern int nfs_net_id;
|
|
|
|
#endif
|