All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Michael Tokarev <mjt@tls.msk.ru>, Ed Maste <emaste@freebsd.org>
Cc: qemu-trivial@nongnu.org, Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-trivial] [Qemu-devel] [PULL trivial 2/5] slirp: remove mbuf(m_hdr, m_dat) indirection
Date: Wed, 24 Jul 2013 14:44:30 +0200	[thread overview]
Message-ID: <51EFCC2E.5040804@suse.de> (raw)
In-Reply-To: <1374225073-12959-3-git-send-email-mjt@msgid.tls.msk.ru>

Am 19.07.2013 11:11, schrieb Michael Tokarev:
> ---

NACK, this commit in the pull request is lacking Signed-off-bys!

The original patch (attachment in reply to "slirp: reorder include to
fix FreeBSD build failure") had a misspelled "Signed-off-By" from mjt.
Michael, can you please re-add that and submit a v2 pull?

Ed, maybe you want to turn your "I'm happy" into an Acked-by or
Tested-by while at it? ;)

Regards,
Andreas

>  slirp/mbuf.h     |   51 ++++++++++++++++++---------------------------------
>  slirp/tcp_subr.c |   12 ++++++------
>  2 files changed, 24 insertions(+), 39 deletions(-)
> 
> diff --git a/slirp/mbuf.h b/slirp/mbuf.h
> index 3f3ab09..b144f1c 100644
> --- a/slirp/mbuf.h
> +++ b/slirp/mbuf.h
> @@ -49,22 +49,6 @@
>   * free the m_ext.  This is inefficient memory-wise, but who cares.
>   */
>  
> -/* XXX should union some of these! */
> -/* header at beginning of each mbuf: */
> -struct m_hdr {
> -	struct	mbuf *mh_next;		/* Linked list of mbufs */
> -	struct	mbuf *mh_prev;
> -	struct	mbuf *mh_nextpkt;	/* Next packet in queue/record */
> -	struct	mbuf *mh_prevpkt; /* Flags aren't used in the output queue */
> -	int	mh_flags;	  /* Misc flags */
> -
> -	int	mh_size;		/* Size of data */
> -	struct	socket *mh_so;
> -
> -	caddr_t	mh_data;		/* Location of data */
> -	int	mh_len;			/* Amount of data in this mbuf */
> -};
> -
>  /*
>   * How much room is in the mbuf, from m_data to the end of the mbuf
>   */
> @@ -80,29 +64,30 @@ struct m_hdr {
>  #define M_TRAILINGSPACE M_FREEROOM
>  
>  struct mbuf {
> -	struct	m_hdr m_hdr;
> +	/* XXX should union some of these! */
> +	/* header at beginning of each mbuf: */
> +	struct	mbuf *m_next;		/* Linked list of mbufs */
> +	struct	mbuf *m_prev;
> +	struct	mbuf *m_nextpkt;	/* Next packet in queue/record */
> +	struct	mbuf *m_prevpkt;	/* Flags aren't used in the output queue */
> +	int	m_flags;		/* Misc flags */
> +
> +	int	m_size;			/* Size of data */
> +	struct	socket *m_so;
> +
> +	caddr_t	m_data;			/* Location of data */
> +	int	m_len;			/* Amount of data in this mbuf */
> +
>  	Slirp *slirp;
>  	bool	arp_requested;
>  	uint64_t expiration_date;
>  	/* start of dynamic buffer area, must be last element */
> -	union M_dat {
> -		char	m_dat_[1]; /* ANSI don't like 0 sized arrays */
> -		char	*m_ext_;
> -	} M_dat;
> +	union {
> +		char	m_dat[1]; /* ANSI don't like 0 sized arrays */
> +		char	*m_ext;
> +	};
>  };
>  
> -#define m_next		m_hdr.mh_next
> -#define m_prev		m_hdr.mh_prev
> -#define m_nextpkt	m_hdr.mh_nextpkt
> -#define m_prevpkt	m_hdr.mh_prevpkt
> -#define m_flags		m_hdr.mh_flags
> -#define	m_len		m_hdr.mh_len
> -#define	m_data		m_hdr.mh_data
> -#define m_size		m_hdr.mh_size
> -#define m_dat		M_dat.m_dat_
> -#define m_ext		M_dat.m_ext_
> -#define m_so		m_hdr.mh_so
> -
>  #define ifq_prev m_prev
>  #define ifq_next m_next
>  #define ifs_prev m_prevpkt
> diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
> index e98ce1a..043f28f 100644
> --- a/slirp/tcp_subr.c
> +++ b/slirp/tcp_subr.c
> @@ -647,7 +647,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  			n4 =  (laddr & 0xff);
>  
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size - m->m_len,
> +                        m->m_len += snprintf(bptr, m->m_size - m->m_len,
>                                               "ORT %d,%d,%d,%d,%d,%d\r\n%s",
>                                               n1, n2, n3, n4, n5, n6, x==7?buff:"");
>  			return 1;
> @@ -680,7 +680,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  			n4 =  (laddr & 0xff);
>  
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -			m->m_len += snprintf(bptr, m->m_hdr.mh_size - m->m_len,
> +			m->m_len += snprintf(bptr, m->m_size - m->m_len,
>                                               "27 Entering Passive Mode (%d,%d,%d,%d,%d,%d)\r\n%s",
>                                               n1, n2, n3, n4, n5, n6, x==7?buff:"");
>  
> @@ -706,7 +706,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  		if (m->m_data[m->m_len-1] == '\0' && lport != 0 &&
>  		    (so = tcp_listen(slirp, INADDR_ANY, 0, so->so_laddr.s_addr,
>  		                     htons(lport), SS_FACCEPTONCE)) != NULL)
> -                    m->m_len = snprintf(m->m_data, m->m_hdr.mh_size, "%d",
> +                    m->m_len = snprintf(m->m_data, m->m_size, "%d",
>                                          ntohs(so->so_fport)) + 1;
>  		return 1;
>  
> @@ -726,7 +726,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  				return 1;
>  			}
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
> +                        m->m_len += snprintf(bptr, m->m_size,
>                                               "DCC CHAT chat %lu %u%c\n",
>                                               (unsigned long)ntohl(so->so_faddr.s_addr),
>                                               ntohs(so->so_fport), 1);
> @@ -737,7 +737,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  				return 1;
>  			}
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
> +                        m->m_len += snprintf(bptr, m->m_size,
>                                               "DCC SEND %s %lu %u %u%c\n", buff,
>                                               (unsigned long)ntohl(so->so_faddr.s_addr),
>                                               ntohs(so->so_fport), n1, 1);
> @@ -748,7 +748,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  				return 1;
>  			}
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
> +                        m->m_len += snprintf(bptr, m->m_size,
>                                               "DCC MOVE %s %lu %u %u%c\n", buff,
>                                               (unsigned long)ntohl(so->so_faddr.s_addr),
>                                               ntohs(so->so_fport), n1, 1);
> 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg


WARNING: multiple messages have this Message-ID (diff)
From: "Andreas Färber" <afaerber@suse.de>
To: Michael Tokarev <mjt@tls.msk.ru>, Ed Maste <emaste@freebsd.org>
Cc: qemu-trivial@nongnu.org, Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PULL trivial 2/5] slirp: remove mbuf(m_hdr, m_dat) indirection
Date: Wed, 24 Jul 2013 14:44:30 +0200	[thread overview]
Message-ID: <51EFCC2E.5040804@suse.de> (raw)
In-Reply-To: <1374225073-12959-3-git-send-email-mjt@msgid.tls.msk.ru>

Am 19.07.2013 11:11, schrieb Michael Tokarev:
> ---

NACK, this commit in the pull request is lacking Signed-off-bys!

The original patch (attachment in reply to "slirp: reorder include to
fix FreeBSD build failure") had a misspelled "Signed-off-By" from mjt.
Michael, can you please re-add that and submit a v2 pull?

Ed, maybe you want to turn your "I'm happy" into an Acked-by or
Tested-by while at it? ;)

Regards,
Andreas

>  slirp/mbuf.h     |   51 ++++++++++++++++++---------------------------------
>  slirp/tcp_subr.c |   12 ++++++------
>  2 files changed, 24 insertions(+), 39 deletions(-)
> 
> diff --git a/slirp/mbuf.h b/slirp/mbuf.h
> index 3f3ab09..b144f1c 100644
> --- a/slirp/mbuf.h
> +++ b/slirp/mbuf.h
> @@ -49,22 +49,6 @@
>   * free the m_ext.  This is inefficient memory-wise, but who cares.
>   */
>  
> -/* XXX should union some of these! */
> -/* header at beginning of each mbuf: */
> -struct m_hdr {
> -	struct	mbuf *mh_next;		/* Linked list of mbufs */
> -	struct	mbuf *mh_prev;
> -	struct	mbuf *mh_nextpkt;	/* Next packet in queue/record */
> -	struct	mbuf *mh_prevpkt; /* Flags aren't used in the output queue */
> -	int	mh_flags;	  /* Misc flags */
> -
> -	int	mh_size;		/* Size of data */
> -	struct	socket *mh_so;
> -
> -	caddr_t	mh_data;		/* Location of data */
> -	int	mh_len;			/* Amount of data in this mbuf */
> -};
> -
>  /*
>   * How much room is in the mbuf, from m_data to the end of the mbuf
>   */
> @@ -80,29 +64,30 @@ struct m_hdr {
>  #define M_TRAILINGSPACE M_FREEROOM
>  
>  struct mbuf {
> -	struct	m_hdr m_hdr;
> +	/* XXX should union some of these! */
> +	/* header at beginning of each mbuf: */
> +	struct	mbuf *m_next;		/* Linked list of mbufs */
> +	struct	mbuf *m_prev;
> +	struct	mbuf *m_nextpkt;	/* Next packet in queue/record */
> +	struct	mbuf *m_prevpkt;	/* Flags aren't used in the output queue */
> +	int	m_flags;		/* Misc flags */
> +
> +	int	m_size;			/* Size of data */
> +	struct	socket *m_so;
> +
> +	caddr_t	m_data;			/* Location of data */
> +	int	m_len;			/* Amount of data in this mbuf */
> +
>  	Slirp *slirp;
>  	bool	arp_requested;
>  	uint64_t expiration_date;
>  	/* start of dynamic buffer area, must be last element */
> -	union M_dat {
> -		char	m_dat_[1]; /* ANSI don't like 0 sized arrays */
> -		char	*m_ext_;
> -	} M_dat;
> +	union {
> +		char	m_dat[1]; /* ANSI don't like 0 sized arrays */
> +		char	*m_ext;
> +	};
>  };
>  
> -#define m_next		m_hdr.mh_next
> -#define m_prev		m_hdr.mh_prev
> -#define m_nextpkt	m_hdr.mh_nextpkt
> -#define m_prevpkt	m_hdr.mh_prevpkt
> -#define m_flags		m_hdr.mh_flags
> -#define	m_len		m_hdr.mh_len
> -#define	m_data		m_hdr.mh_data
> -#define m_size		m_hdr.mh_size
> -#define m_dat		M_dat.m_dat_
> -#define m_ext		M_dat.m_ext_
> -#define m_so		m_hdr.mh_so
> -
>  #define ifq_prev m_prev
>  #define ifq_next m_next
>  #define ifs_prev m_prevpkt
> diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
> index e98ce1a..043f28f 100644
> --- a/slirp/tcp_subr.c
> +++ b/slirp/tcp_subr.c
> @@ -647,7 +647,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  			n4 =  (laddr & 0xff);
>  
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size - m->m_len,
> +                        m->m_len += snprintf(bptr, m->m_size - m->m_len,
>                                               "ORT %d,%d,%d,%d,%d,%d\r\n%s",
>                                               n1, n2, n3, n4, n5, n6, x==7?buff:"");
>  			return 1;
> @@ -680,7 +680,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  			n4 =  (laddr & 0xff);
>  
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -			m->m_len += snprintf(bptr, m->m_hdr.mh_size - m->m_len,
> +			m->m_len += snprintf(bptr, m->m_size - m->m_len,
>                                               "27 Entering Passive Mode (%d,%d,%d,%d,%d,%d)\r\n%s",
>                                               n1, n2, n3, n4, n5, n6, x==7?buff:"");
>  
> @@ -706,7 +706,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  		if (m->m_data[m->m_len-1] == '\0' && lport != 0 &&
>  		    (so = tcp_listen(slirp, INADDR_ANY, 0, so->so_laddr.s_addr,
>  		                     htons(lport), SS_FACCEPTONCE)) != NULL)
> -                    m->m_len = snprintf(m->m_data, m->m_hdr.mh_size, "%d",
> +                    m->m_len = snprintf(m->m_data, m->m_size, "%d",
>                                          ntohs(so->so_fport)) + 1;
>  		return 1;
>  
> @@ -726,7 +726,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  				return 1;
>  			}
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
> +                        m->m_len += snprintf(bptr, m->m_size,
>                                               "DCC CHAT chat %lu %u%c\n",
>                                               (unsigned long)ntohl(so->so_faddr.s_addr),
>                                               ntohs(so->so_fport), 1);
> @@ -737,7 +737,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  				return 1;
>  			}
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
> +                        m->m_len += snprintf(bptr, m->m_size,
>                                               "DCC SEND %s %lu %u %u%c\n", buff,
>                                               (unsigned long)ntohl(so->so_faddr.s_addr),
>                                               ntohs(so->so_fport), n1, 1);
> @@ -748,7 +748,7 @@ tcp_emu(struct socket *so, struct mbuf *m)
>  				return 1;
>  			}
>  			m->m_len = bptr - m->m_data; /* Adjust length */
> -                        m->m_len += snprintf(bptr, m->m_hdr.mh_size,
> +                        m->m_len += snprintf(bptr, m->m_size,
>                                               "DCC MOVE %s %lu %u %u%c\n", buff,
>                                               (unsigned long)ntohl(so->so_faddr.s_addr),
>                                               ntohs(so->so_fport), n1, 1);
> 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

  reply	other threads:[~2013-07-24 12:44 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-19  9:11 [Qemu-trivial] [PULL trivial 0/5] trivial patches for 2013-07-19 Michael Tokarev
2013-07-19  9:11 ` [Qemu-devel] " Michael Tokarev
2013-07-19  9:11 ` [Qemu-trivial] [PULL trivial 1/5] linux-user: declare sys_futex to have 6 arguments Michael Tokarev
2013-07-19  9:11   ` [Qemu-devel] " Michael Tokarev
2013-07-19  9:11 ` [Qemu-trivial] [PULL trivial 2/5] slirp: remove mbuf(m_hdr, m_dat) indirection Michael Tokarev
2013-07-19  9:11   ` [Qemu-devel] " Michael Tokarev
2013-07-24 12:44   ` Andreas Färber [this message]
2013-07-24 12:44     ` Andreas Färber
2013-07-24 13:10     ` [Qemu-trivial] " Michael Tokarev
2013-07-24 13:10       ` Michael Tokarev
2013-07-24 13:22   ` [Qemu-trivial] " Ed Maste
2013-07-24 13:22     ` [Qemu-devel] " Ed Maste
2013-07-19  9:11 ` [Qemu-trivial] [PULL trivial 3/5] Fix command example in qemu.sasl Michael Tokarev
2013-07-19  9:11   ` [Qemu-devel] " Michael Tokarev
2013-07-19  9:11 ` [Qemu-trivial] [PULL trivial 4/5] block/m25p80: Update Micron entries Michael Tokarev
2013-07-19  9:11   ` [Qemu-devel] " Michael Tokarev
2013-07-19  9:11 ` [Qemu-trivial] [PULL trivial 5/5] doc: monitor multiplexing rewording Michael Tokarev
2013-07-19  9:11   ` [Qemu-devel] " Michael Tokarev
2013-07-24 12:24 ` [Qemu-trivial] [PULL trivial 0/5] trivial patches for 2013-07-19 Ed Maste
2013-07-24 12:24   ` [Qemu-devel] " Ed Maste
2013-07-24 13:28   ` [Qemu-trivial] [Qemu-devel] " Andreas Färber
2013-07-24 13:28     ` [Qemu-devel] [Qemu-trivial] " Andreas Färber
2013-07-24 13:32   ` [Qemu-trivial] [Qemu-devel] " Anthony Liguori
2013-07-24 13:32     ` [Qemu-devel] [Qemu-trivial] " Anthony Liguori
2013-07-24 13:58     ` [Qemu-trivial] [Qemu-devel] " Ed Maste
2013-07-24 13:58       ` [Qemu-devel] [Qemu-trivial] " Ed Maste

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51EFCC2E.5040804@suse.de \
    --to=afaerber@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=emaste@freebsd.org \
    --cc=mjt@tls.msk.ru \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.