bug fixed: file_offset has no effect when use trunk file
parent
e16ef61c7e
commit
5e23bd9144
3
HISTORY
3
HISTORY
|
|
@ -1,4 +1,7 @@
|
|||
|
||||
Version 5.11 2017-04-28
|
||||
* bug fixed: file_offset has no effect when use trunk file
|
||||
|
||||
Version 5.10 2017-03-29
|
||||
* use fc_safe_read instead of read, and fc_safe_write instead of write
|
||||
you must upgrade libfastcommon to V1.35 or later
|
||||
|
|
|
|||
|
|
@ -255,41 +255,39 @@ int dio_open_file(StorageFileContext *pFileContext)
|
|||
{
|
||||
int result;
|
||||
|
||||
if (pFileContext->fd >= 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
pFileContext->fd = open(pFileContext->filename,
|
||||
pFileContext->open_flags, 0644);
|
||||
if (pFileContext->fd < 0)
|
||||
{
|
||||
result = errno != 0 ? errno : EACCES;
|
||||
logError("file: "__FILE__", line: %d, " \
|
||||
"open file: %s fail, " \
|
||||
"errno: %d, error info: %s", \
|
||||
__LINE__, pFileContext->filename, \
|
||||
result, STRERROR(result));
|
||||
}
|
||||
else
|
||||
{
|
||||
result = 0;
|
||||
}
|
||||
{
|
||||
pFileContext->fd = open(pFileContext->filename,
|
||||
pFileContext->open_flags, 0644);
|
||||
if (pFileContext->fd < 0)
|
||||
{
|
||||
result = errno != 0 ? errno : EACCES;
|
||||
logError("file: "__FILE__", line: %d, " \
|
||||
"open file: %s fail, " \
|
||||
"errno: %d, error info: %s", \
|
||||
__LINE__, pFileContext->filename, \
|
||||
result, STRERROR(result));
|
||||
}
|
||||
else
|
||||
{
|
||||
result = 0;
|
||||
}
|
||||
|
||||
pthread_mutex_lock(&g_dio_thread_lock);
|
||||
g_storage_stat.total_file_open_count++;
|
||||
if (result == 0)
|
||||
{
|
||||
g_storage_stat.success_file_open_count++;
|
||||
}
|
||||
pthread_mutex_unlock(&g_dio_thread_lock);
|
||||
pthread_mutex_lock(&g_dio_thread_lock);
|
||||
g_storage_stat.total_file_open_count++;
|
||||
if (result == 0)
|
||||
{
|
||||
g_storage_stat.success_file_open_count++;
|
||||
}
|
||||
pthread_mutex_unlock(&g_dio_thread_lock);
|
||||
|
||||
if (result != 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
if (result != 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
if (pFileContext->offset > 0 && lseek(pFileContext->fd, \
|
||||
if (pFileContext->offset > 0 && lseek(pFileContext->fd,
|
||||
pFileContext->offset, SEEK_SET) < 0)
|
||||
{
|
||||
result = errno != 0 ? errno : EIO;
|
||||
|
|
|
|||
Loading…
Reference in New Issue