HomeFreeBSD

Make zvol update volsize operation synchronous.

Description

Make zvol update volsize operation synchronous.

There is a race condition when new transaction group is added
to dp->dp_dirty_datasets list by the zap_update in the zvol_update_volsize.
Meanwhile, before these dirty data are synchronized, the receive process
can cause that dmu_recv_end_sync is executed. Then finally dirty data
are going to be synchronized but the synchronization ends with the NULL
pointer dereference error.

Signed-off-by: ab-oe <arkadiusz.bubala@open-e.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #4116

Details

Provenance
ab-oe <arkadiusz.bubala@open-e.com>Authored on Feb 26 2016, 7:33 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Feb 29 2016, 5:07 PM
Parents
rG9f500936c821: FreeBSD r256956: Improve ZFS N-way mirror read performance by using load and…
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG513168abd267: Make zvol update volsize operation synchronous. (authored by ab-oe <arkadiusz.bubala@open-e.com>).Feb 29 2016, 5:07 PM