static variable expect_header

pull/484/head
YuQing 2019-12-24 22:12:40 +08:00
parent aefb4611aa
commit e6ec41ba04
2 changed files with 9 additions and 10 deletions

View File

@ -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];

View File

@ -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)
{ {