Skip to content

Commit

Permalink
remove lock on edge to avoid deadlock (#3677)
Browse files Browse the repository at this point in the history
  • Loading branch information
davies committed Aug 31, 2023
1 parent 772c67c commit b2b9d84
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions pkg/meta/sql.go
Original file line number Diff line number Diff line change
Expand Up @@ -1130,7 +1130,7 @@ func (m *dbMeta) doMknod(ctx Context, parent Ino, name string, _type uint8, mode
return syscall.ENOTDIR
}
var e = edge{Parent: parent, Name: []byte(name)}
ok, err = s.ForUpdate().Get(&e)
ok, err = s.Get(&e)
if err != nil {
return err
}
Expand All @@ -1146,7 +1146,7 @@ func (m *dbMeta) doMknod(ctx Context, parent Ino, name string, _type uint8, mode
if foundIno != 0 {
if _type == TypeFile || _type == TypeDirectory {
foundNode := node{Inode: foundIno}
ok, err = s.ForUpdate().Get(&foundNode)
ok, err = s.Get(&foundNode)
if err != nil {
return err
} else if ok {
Expand Down Expand Up @@ -1229,7 +1229,7 @@ func (m *dbMeta) doUnlink(ctx Context, parent Ino, name string) syscall.Errno {
return syscall.ENOTDIR
}
var e = edge{Parent: parent, Name: []byte(name)}
ok, err = s.ForUpdate().Get(&e)
ok, err = s.Get(&e)
if err != nil {
return err
}
Expand Down Expand Up @@ -1360,7 +1360,7 @@ func (m *dbMeta) doRmdir(ctx Context, parent Ino, name string) syscall.Errno {
return syscall.ENOTDIR
}
var e = edge{Parent: parent, Name: []byte(name)}
ok, err = s.ForUpdate().Get(&e)
ok, err = s.Get(&e)
if err != nil {
return err
}
Expand All @@ -1383,7 +1383,7 @@ func (m *dbMeta) doRmdir(ctx Context, parent Ino, name string) syscall.Errno {
if err != nil {
return err
}
exist, err := s.ForUpdate().Exist(&edge{Parent: e.Inode})
exist, err := s.Exist(&edge{Parent: e.Inode})
if err != nil {
return err
}
Expand Down Expand Up @@ -1475,7 +1475,7 @@ func (m *dbMeta) doRename(ctx Context, parentSrc Ino, nameSrc string, parentDst
return syscall.ENOTDIR
}
var se = edge{Parent: parentSrc, Name: []byte(nameSrc)}
ok, err := s.ForUpdate().Get(&se)
ok, err := s.Get(&se)
if err != nil {
return err
}
Expand All @@ -1497,7 +1497,7 @@ func (m *dbMeta) doRename(ctx Context, parentSrc Ino, nameSrc string, parentDst
return nil
}
var sn = node{Inode: se.Inode}
ok, err = s.ForUpdate().Get(&sn)
ok, err = s.Get(&sn)
if err != nil {
return err
}
Expand All @@ -1506,7 +1506,7 @@ func (m *dbMeta) doRename(ctx Context, parentSrc Ino, nameSrc string, parentDst
}

var de = edge{Parent: parentDst, Name: []byte(nameDst)}
ok, err = s.ForUpdate().Get(&de)
ok, err = s.Get(&de)
if err != nil {
return err
}
Expand Down Expand Up @@ -1548,7 +1548,7 @@ func (m *dbMeta) doRename(ctx Context, parentSrc Ino, nameSrc string, parentDst
}
} else {
if de.Type == TypeDirectory {
exist, err := s.ForUpdate().Exist(&edge{Parent: de.Inode})
exist, err := s.Exist(&edge{Parent: de.Inode})
if err != nil {
return err
}
Expand Down Expand Up @@ -1718,7 +1718,7 @@ func (m *dbMeta) doLink(ctx Context, inode, parent Ino, name string, attr *Attr)
return syscall.ENOTDIR
}
var e = edge{Parent: parent, Name: []byte(name)}
ok, err = s.ForUpdate().Get(&e)
ok, err = s.Get(&e)
if err != nil {
return err
}
Expand Down

0 comments on commit b2b9d84

Please sign in to comment.