freebsd-dev/module
Håkan Johansson 4770aa0643 Fix vdev_open_child() race on updating vdev_parent->vdev_nonrot
Updating vd->vdev_parent->vdev_nonrot in vdev_open_child()
is a race when vdev_open_child is called for many children
from a task queue.

vdev_open_child() is only called by vdev_open_children(), let
the latter update the parent vdev_nonrot member.  The update
was already there, so done twice previously.  Thus using the
same logic at the end in vdev_open_children() to update
vdev_nonrot, either we are vdev_uses_zvols() or not.

Reviewed-by: Richard Elling <Richard.Elling@RichardElling.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Haakan T Johansson <f96hajo@chalmers.se>
Closes #5162
2016-10-07 13:25:35 -07:00
..
avl Fix uninitialized variable in avl_add() 2016-07-25 14:21:34 -07:00
icp Fix coverity defects: CID 150953, 147603, 147610 2016-10-04 18:15:57 -07:00
nvpair Fix coverity defects: CID 147531 147532 147533 147535 2016-09-30 15:47:57 -07:00
unicode Build user-space with different gcc optimization levels 2016-08-09 14:40:35 -07:00
zcommon Fletcher4: Incremental updates and ctx calculation 2016-10-07 12:44:12 -07:00
zfs Fix vdev_open_child() race on updating vdev_parent->vdev_nonrot 2016-10-07 13:25:35 -07:00
zpios kmem_zalloc with KM_SLEEP will never return NULL 2016-09-01 11:39:45 -07:00
.gitignore module/.gitignore: Add *.dwo (#4580) 2016-05-02 09:07:04 -07:00
Makefile.in Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00