Revision e2e004acc7cbe3c531e752a270a74e95cde3ea48 authored by Ross Lagerwall on 08 February 2017, 10:57:37 UTC, committed by David S. Miller on 09 February 2017, 21:43:01 UTC
This fixes a crash when running out of grant refs when creating many
queues across many netdevs.

* If creating queues fails (i.e. there are no grant refs available),
call xenbus_dev_fatal() to ensure that the xenbus device is set to the
closed state.
* If no queues are created, don't call xennet_disconnect_backend as
netdev->real_num_tx_queues will not have been set correctly.
* If setup_netfront() fails, ensure that all the queues created are
cleaned up, not just those that have been set up.
* If any queues were set up and an error occurs, call
xennet_destroy_queues() to clean up the napi context.
* If any fatal error occurs, unregister and destroy the netdev to avoid
leaving around a half setup network device.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 1b5805c
History
File Mode Size
bcache
persistent-data
Kconfig -rw-r--r-- 16.6 KB
Makefile -rw-r--r-- 2.5 KB
bitmap.c -rw-r--r-- 67.3 KB
bitmap.h -rw-r--r-- 9.7 KB
dm-bio-prison.c -rw-r--r-- 9.7 KB
dm-bio-prison.h -rw-r--r-- 4.4 KB
dm-bio-record.h -rw-r--r-- 936 bytes
dm-bufio.c -rw-r--r-- 47.0 KB
dm-bufio.h -rw-r--r-- 3.9 KB
dm-builtin.c -rw-r--r-- 2.0 KB
dm-cache-block-types.h -rw-r--r-- 1.1 KB
dm-cache-metadata.c -rw-r--r-- 35.6 KB
dm-cache-metadata.h -rw-r--r-- 5.1 KB
dm-cache-policy-cleaner.c -rw-r--r-- 10.1 KB
dm-cache-policy-internal.h -rw-r--r-- 4.4 KB
dm-cache-policy-smq.c -rw-r--r-- 41.2 KB
dm-cache-policy.c -rw-r--r-- 3.6 KB
dm-cache-policy.h -rw-r--r-- 8.2 KB
dm-cache-target.c -rw-r--r-- 94.3 KB
dm-core.h -rw-r--r-- 3.2 KB
dm-crypt.c -rw-r--r-- 54.0 KB
dm-delay.c -rw-r--r-- 8.1 KB
dm-era-target.c -rw-r--r-- 38.1 KB
dm-exception-store.c -rw-r--r-- 6.4 KB
dm-exception-store.h -rw-r--r-- 5.7 KB
dm-flakey.c -rw-r--r-- 10.9 KB
dm-io.c -rw-r--r-- 13.6 KB
dm-ioctl.c -rw-r--r-- 42.4 KB
dm-kcopyd.c -rw-r--r-- 18.8 KB
dm-linear.c -rw-r--r-- 3.8 KB
dm-log-userspace-base.c -rw-r--r-- 22.0 KB
dm-log-userspace-transfer.c -rw-r--r-- 7.1 KB
dm-log-userspace-transfer.h -rw-r--r-- 467 bytes
dm-log-writes.c -rw-r--r-- 20.0 KB
dm-log.c -rw-r--r-- 20.0 KB
dm-mpath.c -rw-r--r-- 51.0 KB
dm-mpath.h -rw-r--r-- 415 bytes
dm-path-selector.c -rw-r--r-- 2.4 KB
dm-path-selector.h -rw-r--r-- 2.3 KB
dm-queue-length.c -rw-r--r-- 5.9 KB
dm-raid.c -rw-r--r-- 104.7 KB
dm-raid1.c -rw-r--r-- 34.7 KB
dm-region-hash.c -rw-r--r-- 18.1 KB
dm-round-robin.c -rw-r--r-- 6.0 KB
dm-rq.c -rw-r--r-- 24.5 KB
dm-rq.h -rw-r--r-- 1.6 KB
dm-service-time.c -rw-r--r-- 8.8 KB
dm-snap-persistent.c -rw-r--r-- 22.6 KB
dm-snap-transient.c -rw-r--r-- 3.7 KB
dm-snap.c -rw-r--r-- 57.3 KB
dm-stats.c -rw-r--r-- 29.2 KB
dm-stats.h -rw-r--r-- 949 bytes
dm-stripe.c -rw-r--r-- 10.3 KB
dm-switch.c -rw-r--r-- 15.3 KB
dm-sysfs.c -rw-r--r-- 3.1 KB
dm-table.c -rw-r--r-- 41.0 KB
dm-target.c -rw-r--r-- 3.2 KB
dm-thin-metadata.c -rw-r--r-- 44.8 KB
dm-thin-metadata.h -rw-r--r-- 6.8 KB
dm-thin.c -rw-r--r-- 109.6 KB
dm-uevent.c -rw-r--r-- 5.3 KB
dm-uevent.h -rw-r--r-- 1.6 KB
dm-verity-fec.c -rw-r--r-- 20.5 KB
dm-verity-fec.h -rw-r--r-- 4.3 KB
dm-verity-target.c -rw-r--r-- 25.3 KB
dm-verity.h -rw-r--r-- 3.5 KB
dm-zero.c -rw-r--r-- 1.5 KB
dm.c -rw-r--r-- 62.3 KB
dm.h -rw-r--r-- 6.6 KB
faulty.c -rw-r--r-- 9.0 KB
linear.c -rw-r--r-- 7.6 KB
linear.h -rw-r--r-- 212 bytes
md-cluster.c -rw-r--r-- 35.4 KB
md-cluster.h -rw-r--r-- 1.1 KB
md.c -rw-r--r-- 234.0 KB
md.h -rw-r--r-- 24.1 KB
multipath.c -rw-r--r-- 12.9 KB
multipath.h -rw-r--r-- 611 bytes
raid0.c -rw-r--r-- 18.5 KB
raid0.h -rw-r--r-- 412 bytes
raid1.c -rw-r--r-- 90.7 KB
raid1.h -rw-r--r-- 5.3 KB
raid10.c -rw-r--r-- 133.9 KB
raid10.h -rw-r--r-- 4.2 KB
raid5-cache.c -rw-r--r-- 74.4 KB
raid5.c -rw-r--r-- 230.8 KB
raid5.h -rw-r--r-- 28.8 KB

back to top