update locks
This commit is contained in:
48
zfs.go
48
zfs.go
@@ -36,12 +36,32 @@ type ZfsSnapshot struct {
|
||||
fs *ZfsFs
|
||||
}
|
||||
|
||||
func (z *BoxZfs) Lock() {
|
||||
log.WithFields(log.Fields{"name": z.box.name}).Debugf("starting")
|
||||
z.mx.Lock()
|
||||
}
|
||||
|
||||
func (z *BoxZfs) Unlock() {
|
||||
log.WithFields(log.Fields{"name": z.box.name}).Debugf("starting")
|
||||
z.mx.Unlock()
|
||||
}
|
||||
|
||||
func (fs *ZfsFs) Lock() {
|
||||
log.WithFields(log.Fields{"box": fs.zfs.box.name, "fs": fs.path}).Debugf("starting")
|
||||
fs.mx.Lock()
|
||||
}
|
||||
|
||||
func (fs *ZfsFs) Unlock() {
|
||||
log.WithFields(log.Fields{"box": fs.zfs.box.name, "fs": fs.path}).Debugf("starting")
|
||||
fs.mx.Unlock()
|
||||
}
|
||||
|
||||
func (z *BoxZfs) Open() error {
|
||||
log.WithFields(log.Fields{"name": z.box.name}).Debugf("starting")
|
||||
defer log.WithFields(log.Fields{"name": z.box.name}).Debugf("done")
|
||||
|
||||
z.mx.Lock()
|
||||
defer z.mx.Unlock()
|
||||
z.Lock()
|
||||
defer z.Unlock()
|
||||
|
||||
if z.online {
|
||||
return nil
|
||||
@@ -146,12 +166,12 @@ func (z *BoxZfs) Close() error {
|
||||
log.WithFields(log.Fields{"name": z.box.name}).Debugf("starting")
|
||||
defer log.WithFields(log.Fields{"name": z.box.name}).Debugf("done")
|
||||
|
||||
z.mx.Lock()
|
||||
defer z.mx.Unlock()
|
||||
z.Lock()
|
||||
defer z.Unlock()
|
||||
|
||||
for _, fs := range z.filesystems {
|
||||
fs.mx.Lock()
|
||||
defer fs.mx.Unlock()
|
||||
fs.Lock()
|
||||
defer fs.Unlock()
|
||||
}
|
||||
|
||||
z.online = false
|
||||
@@ -169,8 +189,8 @@ func (z *BoxZfs) Mkdir(path string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
z.mx.Lock()
|
||||
defer z.mx.Unlock()
|
||||
z.Lock()
|
||||
defer z.Unlock()
|
||||
|
||||
b := z.box
|
||||
if !b.online {
|
||||
@@ -230,8 +250,8 @@ func (fs *ZfsFs) TakeSnapshot(name string) (*ZfsSnapshot, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
fs.mx.Lock()
|
||||
defer fs.mx.Unlock()
|
||||
fs.Lock()
|
||||
defer fs.Unlock()
|
||||
|
||||
if _, ok := fs.snapshots[name]; ok {
|
||||
err := errors.New("already exists")
|
||||
@@ -264,8 +284,8 @@ func (fs *ZfsFs) DelSnapshot(name string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
fs.mx.Lock()
|
||||
defer fs.mx.Unlock()
|
||||
fs.Lock()
|
||||
defer fs.Unlock()
|
||||
|
||||
if _, ok := fs.snapshots[name]; !ok {
|
||||
err := errors.New("doesn't exist")
|
||||
@@ -296,8 +316,8 @@ func (fs *ZfsFs) AddSnapshot(s *ZfsSnapshot) error {
|
||||
return err
|
||||
}
|
||||
|
||||
fs.mx.Lock()
|
||||
defer fs.mx.Unlock()
|
||||
fs.Lock()
|
||||
defer fs.Unlock()
|
||||
|
||||
if _, ok := fs.snapshots[s.name]; ok {
|
||||
err := errors.New("already exist")
|
||||
|
||||
Reference in New Issue
Block a user