sunrpc: add add sysfs directory per xprt under each xprt_switch
[linux-2.6-microblaze.git] / include / linux / sunrpc / xprt.h
index 61b622e..8360db6 100644 (file)
@@ -53,6 +53,7 @@ enum rpc_display_format_t {
 
 struct rpc_task;
 struct rpc_xprt;
+struct xprt_class;
 struct seq_file;
 struct svc_serv;
 struct net;
@@ -182,9 +183,11 @@ enum xprt_transports {
        XPRT_TRANSPORT_LOCAL    = 257,
 };
 
+struct rpc_sysfs_xprt;
 struct rpc_xprt {
        struct kref             kref;           /* Reference count */
        const struct rpc_xprt_ops *ops;         /* transport methods */
+       unsigned int            id;             /* transport id */
 
        const struct rpc_timeout *timeout;      /* timeout parms */
        struct sockaddr_storage addr;           /* server address */
@@ -288,6 +291,8 @@ struct rpc_xprt {
        atomic_t                inject_disconnect;
 #endif
        struct rcu_head         rcu;
+       const struct xprt_class *xprt_class;
+       struct rpc_sysfs_xprt   *xprt_sysfs;
 };
 
 #if defined(CONFIG_SUNRPC_BACKCHANNEL)
@@ -370,6 +375,7 @@ struct rpc_xprt *   xprt_alloc(struct net *net, size_t size,
 void                   xprt_free(struct rpc_xprt *);
 void                   xprt_add_backlog(struct rpc_xprt *xprt, struct rpc_task *task);
 bool                   xprt_wake_up_backlog(struct rpc_xprt *xprt, struct rpc_rqst *req);
+void                   xprt_cleanup_ids(void);
 
 static inline int
 xprt_enable_swap(struct rpc_xprt *xprt)