mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-09-20 03:59:56 +08:00
volume: copy volumes also include .vif file
This commit is contained in:
@@ -20,7 +20,7 @@ import (
|
|||||||
|
|
||||||
const BufferSizeLimit = 1024 * 1024 * 2
|
const BufferSizeLimit = 1024 * 1024 * 2
|
||||||
|
|
||||||
// VolumeCopy copy the .idx .dat files, and mount the volume
|
// VolumeCopy copy the .idx .dat .vif files, and mount the volume
|
||||||
func (vs *VolumeServer) VolumeCopy(ctx context.Context, req *volume_server_pb.VolumeCopyRequest) (*volume_server_pb.VolumeCopyResponse, error) {
|
func (vs *VolumeServer) VolumeCopy(ctx context.Context, req *volume_server_pb.VolumeCopyRequest) (*volume_server_pb.VolumeCopyResponse, error) {
|
||||||
|
|
||||||
v := vs.store.GetVolume(needle.VolumeId(req.VolumeId))
|
v := vs.store.GetVolume(needle.VolumeId(req.VolumeId))
|
||||||
@@ -63,6 +63,10 @@ func (vs *VolumeServer) VolumeCopy(ctx context.Context, req *volume_server_pb.Vo
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := vs.doCopyFile(ctx, client, false, req.Collection, req.VolumeId, volFileInfoResp.CompactionRevision, volFileInfoResp.DatFileSize, volumeFileName, ".vif", false, true); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -70,12 +74,9 @@ func (vs *VolumeServer) VolumeCopy(ctx context.Context, req *volume_server_pb.Vo
|
|||||||
datFileName = volumeFileName + ".dat"
|
datFileName = volumeFileName + ".dat"
|
||||||
|
|
||||||
if err != nil && volumeFileName != "" {
|
if err != nil && volumeFileName != "" {
|
||||||
if idxFileName != "" {
|
|
||||||
os.Remove(idxFileName)
|
os.Remove(idxFileName)
|
||||||
}
|
|
||||||
if datFileName != "" {
|
|
||||||
os.Remove(datFileName)
|
os.Remove(datFileName)
|
||||||
}
|
os.Remove(volumeFileName + ".vif")
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user