Chris Wright
2009-Dec-22 19:02 UTC
[PATCH] vhost-net: defer f->private_data until setup succeeds
Trivial change, just for readability. The filp is not installed on failure, so the current code is not incorrect (also vhost_dev_init currently has no failure case). This just treats setting f->private_data as something with global scope (sure, true only after fd_install). Signed-off-by: Chris Wright <chrisw at redhat.com> --- drivers/vhost/net.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 22d5fef..0697ab2 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -326,7 +326,6 @@ static int vhost_net_open(struct inode *inode, struct file *f) int r; if (!n) return -ENOMEM; - f->private_data = n; n->vqs[VHOST_NET_VQ_TX].handle_kick = handle_tx_kick; n->vqs[VHOST_NET_VQ_RX].handle_kick = handle_rx_kick; r = vhost_dev_init(&n->dev, n->vqs, VHOST_NET_VQ_MAX); @@ -338,6 +337,9 @@ static int vhost_net_open(struct inode *inode, struct file *f) vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT); vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN); n->tx_poll_state = VHOST_NET_POLL_DISABLED; + + f->private_data = n; + return 0; }
Michael S. Tsirkin
2009-Dec-24 06:06 UTC
[PATCH] vhost-net: defer f->private_data until setup succeeds
On Tue, Dec 22, 2009 at 11:02:28AM -0800, Chris Wright wrote:> Trivial change, just for readability. The filp is not installed on > failure, so the current code is not incorrect (also vhost_dev_init > currently has no failure case). This just treats setting f->private_data > as something with global scope (sure, true only after fd_install). > > Signed-off-by: Chris Wright <chrisw at redhat.com>Acked-by: Michael S. Tsirkin <mst at redhat.com>> --- > drivers/vhost/net.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c > index 22d5fef..0697ab2 100644 > --- a/drivers/vhost/net.c > +++ b/drivers/vhost/net.c > @@ -326,7 +326,6 @@ static int vhost_net_open(struct inode *inode, struct file *f) > int r; > if (!n) > return -ENOMEM; > - f->private_data = n; > n->vqs[VHOST_NET_VQ_TX].handle_kick = handle_tx_kick; > n->vqs[VHOST_NET_VQ_RX].handle_kick = handle_rx_kick; > r = vhost_dev_init(&n->dev, n->vqs, VHOST_NET_VQ_MAX); > @@ -338,6 +337,9 @@ static int vhost_net_open(struct inode *inode, struct file *f) > vhost_poll_init(n->poll + VHOST_NET_VQ_TX, handle_tx_net, POLLOUT); > vhost_poll_init(n->poll + VHOST_NET_VQ_RX, handle_rx_net, POLLIN); > n->tx_poll_state = VHOST_NET_POLL_DISABLED; > + > + f->private_data = n; > + > return 0; > } >
Rusty Russell
2010-Jan-04 02:33 UTC
[PATCH] vhost-net: defer f->private_data until setup succeeds
On Thu, 24 Dec 2009 04:36:50 pm Michael S. Tsirkin wrote:> On Tue, Dec 22, 2009 at 11:02:28AM -0800, Chris Wright wrote: > > Trivial change, just for readability. The filp is not installed on > > failure, so the current code is not incorrect (also vhost_dev_init > > currently has no failure case). This just treats setting f->private_data > > as something with global scope (sure, true only after fd_install). > > > > Signed-off-by: Chris Wright <chrisw at redhat.com> > > Acked-by: Michael S. Tsirkin <mst at redhat.com>Thanks, applied. Rusty.