Date: Tue, 2 Oct 2007 14:48:48 +0000 (UTC) From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern kern_sx.c Message-ID: <200710021448.l92EmmEw065063@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710021448.l92EmmEw065063>