Messages in this thread | | | Date | Fri, 19 Jul 2013 17:19:01 -0400 | From | Jörn Engel <> | Subject | Re: [PATCH v4 1/4] [SCSI] sg: use rwsem to solve race during exclusive open |
| |
On Wed, 17 July 2013 23:34:03 +0800, Vaughan Cao wrote: > Date: Wed, 17 Jul 2013 23:34:03 +0800 > From: Vaughan Cao <vaughan.cao@oracle.com> > To: joern@logfs.org > Cc: dgilbert@interlog.com, JBottomley@parallels.com, > linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, > vaughan.cao@oracle.com > Subject: [PATCH v4 1/4] [SCSI] sg: use rwsem to solve race during > exclusive open > X-Mailer: git-send-email 1.7.11.7 > > A race condition may happen if two threads are both trying to open the same sg > with O_EXCL simultaneously. It's possible that they both find fsds list is > empty and get_exclude(sdp) returns 0, then they both call set_exclude() and > break out from wait_event_interruptible and resume open. > > Now use rwsem to protect this process. Exclusive open gets write lock and > others get read lock. The lock will be held until file descriptor is closed. > This also leads 'exclude' only a status rather than a check mark. > > Signed-off-by: Vaughan Cao <vaughan.cao@oracle.com> Reviewed-by: Joern Engel <joern@logfs.org>
Jörn
-- When you close your hand, you own nothing. When you open it up, you own the whole world. -- Li Mu Bai in Tiger & Dragon -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |