cvs commit: src/sys/kern kern_sx.c
Pawel Jakub Dawidek
pjd at FreeBSD.org
Tue Oct 2 07:48:49 PDT 2007
pjd 2007-10-02 14:48:48 UTC
FreeBSD src repository
Modified files:
sys/kern kern_sx.c
Log:
Fix sx_try_slock(), so it only fails when there is an exclusive owner.
Before that fix, it was possible for the function to fail if number
of sharers changes between 'x = sx->sx_lock' step and atomic_cmpset_acq_ptr()
call.
This fixes ZFS problem when ZFS returns strange EIO errors under load.
In ZFS there is a code that depends on the fact that sx_try_slock() can
only fail if there is an exclusive owner.
Discussed with: attilio
Reviewed by: jhb
Approved by: re (kensmith)
Revision Changes Path
1.55 +12 -9 src/sys/kern/kern_sx.c
More information about the cvs-src
mailing list