mirror of
https://github.com/cubefs/cubefs.git
synced 2026-08-02 02:00:56 +00:00
fix(data): check extent store whether closed before tiny extent recover. #1000182163
Signed-off-by: Victor1319 <zengxuewei@oppo.com>
This commit is contained in:
parent
d624108ddc
commit
e4b0d9a4ea
@ -856,9 +856,10 @@ func (e *Extent) TinyExtentRecover(data []byte, offset, size int64, crc uint32,
|
||||
watermark = watermark + (util.PageSize - watermark%util.PageSize)
|
||||
}
|
||||
e.dataSize = watermark
|
||||
log.LogDebugf("after file (%v) getRealBlockNo (%v) isEmptyPacket(%v)"+
|
||||
"offset(%v) size(%v) e.datasize(%v)", e.filePath, e.getRealBlockCnt(), isEmptyPacket, offset, size, e.dataSize)
|
||||
|
||||
if log.EnableDebug() {
|
||||
log.LogDebugf("after file (%v) getRealBlockNo (%v) isEmptyPacket(%v)"+
|
||||
"offset(%v) size(%v) e.datasize(%v)", e.filePath, e.getRealBlockCnt(), isEmptyPacket, offset, size, e.dataSize)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@ -1635,6 +1635,14 @@ func (s *ExtentStore) TinyExtentRecover(extentID uint64, offset, size int64, dat
|
||||
return fmt.Errorf("extent %v not tinyExtent", extentID)
|
||||
}
|
||||
|
||||
s.stopMutex.RLock()
|
||||
defer s.stopMutex.RUnlock()
|
||||
if s.IsClosed() {
|
||||
err = ErrStoreAlreadyClosed
|
||||
log.LogErrorf("[TinyExtentRecover] store(%v) failed to tiny recover, extId %d, off %d, size %d, empyt %v", s.dataPath, extentID, offset, size, isEmptyPacket)
|
||||
return
|
||||
}
|
||||
|
||||
var (
|
||||
e *Extent
|
||||
ei *ExtentInfo
|
||||
|
||||
Loading…
Reference in New Issue
Block a user