static variable expect_header
parent
aefb4611aa
commit
e6ec41ba04
|
|
@ -814,35 +814,34 @@ int dio_check_trunk_file_ex(int fd, const char *filename, const int64_t offset)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
char old_header[FDFS_TRUNK_FILE_HEADER_SIZE];
|
char old_header[FDFS_TRUNK_FILE_HEADER_SIZE];
|
||||||
char expect_header[FDFS_TRUNK_FILE_HEADER_SIZE];
|
static char expect_header[FDFS_TRUNK_FILE_HEADER_SIZE] = {'\0'};
|
||||||
|
|
||||||
if (fc_safe_read(fd, old_header, FDFS_TRUNK_FILE_HEADER_SIZE) !=
|
if (fc_safe_read(fd, old_header, FDFS_TRUNK_FILE_HEADER_SIZE) !=
|
||||||
FDFS_TRUNK_FILE_HEADER_SIZE)
|
FDFS_TRUNK_FILE_HEADER_SIZE)
|
||||||
{
|
{
|
||||||
result = errno != 0 ? errno : EIO;
|
result = errno != 0 ? errno : EIO;
|
||||||
logError("file: "__FILE__", line: %d, " \
|
logError("file: "__FILE__", line: %d, "
|
||||||
"read trunk header of file: %s fail, " \
|
"read trunk header of file: %s fail, "
|
||||||
"errno: %d, error info: %s", \
|
"errno: %d, error info: %s",
|
||||||
__LINE__, filename, \
|
__LINE__, filename,
|
||||||
result, STRERROR(result));
|
result, STRERROR(result));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(expect_header, 0, sizeof(expect_header));
|
if (memcmp(old_header, expect_header,
|
||||||
if (memcmp(old_header, expect_header, \
|
|
||||||
FDFS_TRUNK_FILE_HEADER_SIZE) != 0)
|
FDFS_TRUNK_FILE_HEADER_SIZE) != 0)
|
||||||
{
|
{
|
||||||
FDFSTrunkHeader srcOldTrunkHeader;
|
FDFSTrunkHeader srcOldTrunkHeader;
|
||||||
FDFSTrunkHeader newOldTrunkHeader;
|
FDFSTrunkHeader newOldTrunkHeader;
|
||||||
|
|
||||||
trunk_unpack_header(old_header, &srcOldTrunkHeader);
|
trunk_unpack_header(old_header, &srcOldTrunkHeader);
|
||||||
memcpy(&newOldTrunkHeader, &srcOldTrunkHeader, \
|
memcpy(&newOldTrunkHeader, &srcOldTrunkHeader,
|
||||||
sizeof(FDFSTrunkHeader));
|
sizeof(FDFSTrunkHeader));
|
||||||
newOldTrunkHeader.alloc_size = 0;
|
newOldTrunkHeader.alloc_size = 0;
|
||||||
newOldTrunkHeader.file_size = 0;
|
newOldTrunkHeader.file_size = 0;
|
||||||
newOldTrunkHeader.file_type = 0;
|
newOldTrunkHeader.file_type = 0;
|
||||||
trunk_pack_header(&newOldTrunkHeader, old_header);
|
trunk_pack_header(&newOldTrunkHeader, old_header);
|
||||||
if (memcmp(old_header, expect_header, \
|
if (memcmp(old_header, expect_header,
|
||||||
FDFS_TRUNK_FILE_HEADER_SIZE) != 0)
|
FDFS_TRUNK_FILE_HEADER_SIZE) != 0)
|
||||||
{
|
{
|
||||||
char buff[256];
|
char buff[256];
|
||||||
|
|
|
||||||
|
|
@ -2540,7 +2540,7 @@ int trunk_file_delete(const char *trunk_filename, \
|
||||||
remain_bytes = pTrunkInfo->file.size - FDFS_TRUNK_FILE_HEADER_SIZE;
|
remain_bytes = pTrunkInfo->file.size - FDFS_TRUNK_FILE_HEADER_SIZE;
|
||||||
while (remain_bytes > 0)
|
while (remain_bytes > 0)
|
||||||
{
|
{
|
||||||
write_bytes = remain_bytes > sizeof(buff) ? \
|
write_bytes = remain_bytes > sizeof(buff) ?
|
||||||
sizeof(buff) : remain_bytes;
|
sizeof(buff) : remain_bytes;
|
||||||
if (fc_safe_write(fd, buff, write_bytes) != write_bytes)
|
if (fc_safe_write(fd, buff, write_bytes) != write_bytes)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue