Skip site navigation (1)Skip section navigation (2)
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>