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.
|
// Loop past transient errors.
|
||||||
for {
|
for {
|
||||||
// Lock and read.
|
// Attempt a reaed.
|
||||||
//
|
|
||||||
// TODO(jacobsa): Ensure that we document concurrency constraints that make
|
|
||||||
// it safe, then kill the lock here.
|
|
||||||
c.wrapped.Rio.RLock()
|
|
||||||
err = m.Init(c.wrapped.Dev)
|
err = m.Init(c.wrapped.Dev)
|
||||||
c.wrapped.Rio.RUnlock()
|
|
||||||
|
|
||||||
// Special cases:
|
// Special cases:
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue