aboutsummaryrefslogtreecommitdiff
path: root/weed/storage
diff options
context:
space:
mode:
authorhilimd <68371223+hilimd@users.noreply.github.com>2020-10-10 13:07:57 +0800
committerGitHub <noreply@github.com>2020-10-10 13:07:57 +0800
commit411e49f96494629fa3da334e8dc7cc15bd4d19cd (patch)
tree1756f0a2f86c871a6db67df7ecbd509c9df32233 /weed/storage
parentac162fc85769cb1b2a1f8694f9644eae7d0ce6c8 (diff)
parent4a15e9c830de1b654515308e5be8380ffa34aefa (diff)
downloadseaweedfs-411e49f96494629fa3da334e8dc7cc15bd4d19cd.tar.xz
seaweedfs-411e49f96494629fa3da334e8dc7cc15bd4d19cd.zip
Merge pull request #23 from chrislusf/master
sync
Diffstat (limited to 'weed/storage')
-rw-r--r--weed/storage/backend/volume_create_linux.go2
-rw-r--r--weed/storage/disk_location.go3
-rw-r--r--weed/storage/store.go4
-rw-r--r--weed/storage/store_ec.go4
-rw-r--r--weed/storage/volume_read_write.go3
5 files changed, 8 insertions, 8 deletions
diff --git a/weed/storage/backend/volume_create_linux.go b/weed/storage/backend/volume_create_linux.go
index 4602831ca..260c2c2a3 100644
--- a/weed/storage/backend/volume_create_linux.go
+++ b/weed/storage/backend/volume_create_linux.go
@@ -16,7 +16,7 @@ func CreateVolumeFile(fileName string, preallocate int64, memoryMapSizeMB uint32
}
if preallocate != 0 {
syscall.Fallocate(int(file.Fd()), 1, 0, preallocate)
- glog.V(0).Infof("Preallocated %d bytes disk space for %s", preallocate, fileName)
+ glog.V(1).Infof("Preallocated %d bytes disk space for %s", preallocate, fileName)
}
return NewDiskFile(file), nil
}
diff --git a/weed/storage/disk_location.go b/weed/storage/disk_location.go
index 9ecc57459..c309b3f92 100644
--- a/weed/storage/disk_location.go
+++ b/weed/storage/disk_location.go
@@ -174,9 +174,6 @@ func (l *DiskLocation) DeleteCollectionFromDiskLocation(collection string) (e er
}
func (l *DiskLocation) deleteVolumeById(vid needle.VolumeId) (found bool, e error) {
- l.volumesLock.Lock()
- defer l.volumesLock.Unlock()
-
v, ok := l.volumes[vid]
if !ok {
return
diff --git a/weed/storage/store.go b/weed/storage/store.go
index 48cbeb3d1..d5d59235a 100644
--- a/weed/storage/store.go
+++ b/weed/storage/store.go
@@ -380,10 +380,12 @@ func (s *Store) DeleteVolume(i needle.VolumeId) error {
Ttl: v.Ttl.ToUint32(),
}
for _, location := range s.Locations {
- if found, err := location.deleteVolumeById(i); found && err == nil {
+ if err := location.DeleteVolume(i); err == nil {
glog.V(0).Infof("DeleteVolume %d", i)
s.DeletedVolumesChan <- message
return nil
+ } else {
+ glog.Errorf("DeleteVolume %d: %v", i, err)
}
}
diff --git a/weed/storage/store_ec.go b/weed/storage/store_ec.go
index bd7bdacbd..853757ce3 100644
--- a/weed/storage/store_ec.go
+++ b/weed/storage/store_ec.go
@@ -128,7 +128,7 @@ func (s *Store) ReadEcShardNeedle(vid needle.VolumeId, n *needle.Needle) (int, e
return 0, fmt.Errorf("locate in local ec volume: %v", err)
}
if size.IsDeleted() {
- return 0, fmt.Errorf("entry %s is deleted", n.Id)
+ return 0, ErrorDeleted
}
glog.V(3).Infof("read ec volume %d offset %d size %d intervals:%+v", vid, offset.ToAcutalOffset(), size, intervals)
@@ -141,7 +141,7 @@ func (s *Store) ReadEcShardNeedle(vid needle.VolumeId, n *needle.Needle) (int, e
return 0, fmt.Errorf("ReadEcShardIntervals: %v", err)
}
if isDeleted {
- return 0, fmt.Errorf("ec entry %s is deleted", n.Id)
+ return 0, ErrorDeleted
}
err = n.ReadBytes(bytes, offset.ToAcutalOffset(), size, localEcVolume.Version)
diff --git a/weed/storage/volume_read_write.go b/weed/storage/volume_read_write.go
index e11bde2cb..10c87c8ea 100644
--- a/weed/storage/volume_read_write.go
+++ b/weed/storage/volume_read_write.go
@@ -16,6 +16,7 @@ import (
)
var ErrorNotFound = errors.New("not found")
+var ErrorDeleted = errors.New("already deleted")
// isFileUnchanged checks whether this needle to write is same as last one.
// It requires serialized access in the same volume.
@@ -266,7 +267,7 @@ func (v *Volume) readNeedle(n *needle.Needle, readOption *ReadOption) (int, erro
glog.V(3).Infof("reading deleted %s", n.String())
readSize = -readSize
} else {
- return -1, errors.New("already deleted")
+ return -1, ErrorDeleted
}
}
if readSize == 0 {