Removed read locks around the device.
We require no conrrent calls to ReadOp, and that ServeOps doesn't return until all ops have been responded to, so I believe this should be safe. In particular, fuseshim uses the locks only to exclude reads and writes during closing, not for anything else.geesefs-0-30-9
parent
876746fcd2
commit
32418239ae
|
@ -224,13 +224,8 @@ func (c *Connection) readMessage() (m *buffer.InMessage, err error) {
|
|||
|
||||
// Loop past transient errors.
|
||||
for {
|
||||
// Lock and read.
|
||||
//
|
||||
// TODO(jacobsa): Ensure that we document concurrency constraints that make
|
||||
// it safe, then kill the lock here.
|
||||
c.wrapped.Rio.RLock()
|
||||
// Attempt a reaed.
|
||||
err = m.Init(c.wrapped.Dev)
|
||||
c.wrapped.Rio.RUnlock()
|
||||
|
||||
// Special cases:
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue