[RFC] [PATCH 5/7] [net/9p] Add preferences to transport layer.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/6/2011 11:21 PM, Venkateswararao Jujjuri (JV) wrote:
> This patch adds preferences field to the p9_trans_module.
> Through this, now transport layer can express its preference about the
> payload. i.e if payload neds to be part of the PDU or it prefers it
> to be sent sepearetly so that the transport layer can handle it in
> a better way.
> 
> Signed-off-by: Venkateswararao Jujjuri <jvrao@xxxxxxxxxxxxxxxxxx>
> ---
>  include/net/9p/transport.h |    9 +++++++++
>  net/9p/trans_virtio.c      |    1 +
>  2 files changed, 10 insertions(+), 0 deletions(-)
> 
> diff --git a/include/net/9p/transport.h b/include/net/9p/transport.h
> index 6d5886e..13c01a8 100644
> --- a/include/net/9p/transport.h
> +++ b/include/net/9p/transport.h
> @@ -26,11 +26,19 @@
>  #ifndef NET_9P_TRANSPORT_H
>  #define NET_9P_TRANSPORT_H
> 
> +#define P9_TRANS_PREF_PAYLOAD_MASK 0x1
> +
> +/* Default. Add Payload to PDU before sending it down to transport layer */
> +#define P9_TRANS_PREF_PAYLOAD_DEF  0x0 
> +/* Send pay load seperately to transport layer along with PDU.*/
> +#define P9_TRANS_PREF_PAYLOAD_SEP  0x1
> +
>  /**
>   * struct p9_trans_module - transport module interface
>   * @list: used to maintain a list of currently available transports
>   * @name: the human-readable name of the transport
>   * @maxsize: transport provided maximum packet size
> + * @pref: Preferences of this transport
>   * @def: set if this transport should be considered the default
>   * @create: member function to create a new connection on this transport
>   * @request: member function to issue a request to the transport
> @@ -47,6 +55,7 @@ struct p9_trans_module {
>  	struct list_head list;
>  	char *name;		/* name of transport */
>  	int maxsize;		/* max message size of transport */
> +	int pref;               /* Preferences of this transport */
>  	int def;		/* this transport should be default */
>  	struct module *owner;
>  	int (*create)(struct p9_client *, const char *, char *);
> diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
> index 607f064..c76ace6 100644
> --- a/net/9p/trans_virtio.c
> +++ b/net/9p/trans_virtio.c
> @@ -521,6 +521,7 @@ static struct p9_trans_module p9_virtio_trans = {
>  	.request = p9_virtio_request,
>  	.cancel = p9_virtio_cancel,
>  	.maxsize = PAGE_SIZE*16,
> +	.pref = P9_TRANS_PREF_PAYLOAD_DEF,
>  	.def = 0,
>  	.owner = THIS_MODULE,
>  };


--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux