use func sf_parse_daemon_mode_and_action from libserverframe
parent
2e342b6649
commit
1d7b15d1be
|
|
@ -104,3 +104,8 @@ php_client/run-tests.php
|
|||
# fastdfs runtime paths
|
||||
data/
|
||||
logs/
|
||||
|
||||
# others
|
||||
*.pid
|
||||
*.swp
|
||||
*.swo
|
||||
|
|
|
|||
3
HISTORY
3
HISTORY
|
|
@ -1,4 +1,7 @@
|
|||
|
||||
Version 6.09 2022-09-11
|
||||
* use libfastcommon V1.60 and libserverframe 1.1.18
|
||||
|
||||
Version 6.08 2022-06-21
|
||||
* use libfastcommon V1.56
|
||||
NOTE: you MUST upgrade libfastcommon to V1.56 or later
|
||||
|
|
|
|||
25
INSTALL
25
INSTALL
|
|
@ -11,28 +11,37 @@ Chinese language: http://www.fastken.com/
|
|||
# command lines as:
|
||||
|
||||
git clone https://github.com/happyfish100/libfastcommon.git
|
||||
cd libfastcommon; git checkout V1.0.56
|
||||
cd libfastcommon; git checkout V1.0.60
|
||||
./make.sh clean && ./make.sh && ./make.sh install
|
||||
|
||||
|
||||
# step 2. download fastdfs source codes and install it,
|
||||
# step 2. download libserverframe source codes and install it,
|
||||
# github address: https://github.com/happyfish100/libserverframe.git
|
||||
# gitee address: https://gitee.com/fastdfs100/libserverframe.git
|
||||
# command lines as:
|
||||
|
||||
git clone https://github.com/happyfish100/libserverframe.git
|
||||
cd libserverframe; git checkout V1.1.18
|
||||
./make.sh clean && ./make.sh && ./make.sh install
|
||||
|
||||
# step 3. download fastdfs source codes and install it,
|
||||
# github address: https://github.com/happyfish100/fastdfs.git
|
||||
# gitee address: https://gitee.com/fastdfs100/fastdfs.git
|
||||
# command lines as:
|
||||
|
||||
git clone https://github.com/happyfish100/fastdfs.git
|
||||
cd fastdfs; git checkout V6.08
|
||||
cd fastdfs; git checkout V6.09
|
||||
./make.sh clean && ./make.sh && ./make.sh install
|
||||
|
||||
|
||||
# step 3. setup the config files
|
||||
# step 4. setup the config files
|
||||
# the setup script does NOT overwrite existing config files,
|
||||
# please feel free to execute this script (take easy :)
|
||||
|
||||
./setup.sh /etc/fdfs
|
||||
|
||||
|
||||
# step 4. edit or modify the config files of tracker, storage and client
|
||||
# step 5. edit or modify the config files of tracker, storage and client
|
||||
such as:
|
||||
vi /etc/fdfs/tracker.conf
|
||||
vi /etc/fdfs/storage.conf
|
||||
|
|
@ -41,7 +50,7 @@ such as:
|
|||
and so on ...
|
||||
|
||||
|
||||
# step 5. run the server programs
|
||||
# step 6. run the server programs
|
||||
# start the tracker server:
|
||||
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
|
||||
|
||||
|
|
@ -53,12 +62,12 @@ such as:
|
|||
/sbin/service fdfs_storaged restart
|
||||
|
||||
|
||||
# step 6. (optional) run monitor program
|
||||
# step 7. (optional) run monitor program
|
||||
# such as:
|
||||
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
|
||||
|
||||
|
||||
# step 7. (optional) run the test program
|
||||
# step 8. (optional) run the test program
|
||||
# such as:
|
||||
/usr/bin/fdfs_test <client_conf_filename> <operation>
|
||||
/usr/bin/fdfs_test1 <client_conf_filename> <operation>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ COMPILE = $(CC) $(CFLAGS)
|
|||
ENABLE_STATIC_LIB = $(ENABLE_STATIC_LIB)
|
||||
ENABLE_SHARED_LIB = $(ENABLE_SHARED_LIB)
|
||||
INC_PATH = -I../common -I../tracker -I/usr/include/fastcommon
|
||||
LIB_PATH = $(LIBS) -lfastcommon
|
||||
LIB_PATH = $(LIBS) -lfastcommon -lserverframe
|
||||
TARGET_PATH = $(TARGET_PREFIX)/bin
|
||||
TARGET_LIB = $(TARGET_PREFIX)/$(LIB_VERSION)
|
||||
TARGET_INC = $(TARGET_PREFIX)/include
|
||||
|
|
|
|||
|
|
@ -270,25 +270,25 @@ static int fdfs_client_do_init_ex(TrackerServerGroup *pTrackerGroup, \
|
|||
pBasePath = iniGetStrValue(NULL, "base_path", iniContext);
|
||||
if (pBasePath == NULL)
|
||||
{
|
||||
strcpy(g_fdfs_base_path, "/tmp");
|
||||
strcpy(SF_G_BASE_PATH_STR, "/tmp");
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(g_fdfs_base_path, sizeof(g_fdfs_base_path),
|
||||
snprintf(SF_G_BASE_PATH_STR, sizeof(SF_G_BASE_PATH_STR),
|
||||
"%s", pBasePath);
|
||||
chopPath(g_fdfs_base_path);
|
||||
if (!fileExists(g_fdfs_base_path))
|
||||
chopPath(SF_G_BASE_PATH_STR);
|
||||
if (!fileExists(SF_G_BASE_PATH_STR))
|
||||
{
|
||||
logError("file: "__FILE__", line: %d, " \
|
||||
"\"%s\" can't be accessed, error info: %s", \
|
||||
__LINE__, g_fdfs_base_path, STRERROR(errno));
|
||||
__LINE__, SF_G_BASE_PATH_STR, STRERROR(errno));
|
||||
return errno != 0 ? errno : ENOENT;
|
||||
}
|
||||
if (!isDir(g_fdfs_base_path))
|
||||
if (!isDir(SF_G_BASE_PATH_STR))
|
||||
{
|
||||
logError("file: "__FILE__", line: %d, " \
|
||||
"\"%s\" is not a directory!", \
|
||||
__LINE__, g_fdfs_base_path);
|
||||
__LINE__, SF_G_BASE_PATH_STR);
|
||||
return ENOTDIR;
|
||||
}
|
||||
}
|
||||
|
|
@ -376,7 +376,7 @@ static int fdfs_client_do_init_ex(TrackerServerGroup *pTrackerGroup, \
|
|||
"use_connection_pool=%d, " \
|
||||
"g_connection_pool_max_idle_time=%ds, " \
|
||||
"use_storage_id=%d, storage server id count: %d\n", \
|
||||
g_fdfs_base_path, g_fdfs_connect_timeout, \
|
||||
SF_G_BASE_PATH_STR, g_fdfs_connect_timeout, \
|
||||
g_fdfs_network_timeout, pTrackerGroup->server_count, \
|
||||
g_anti_steal_token, g_anti_steal_secret_key.length, \
|
||||
g_use_connection_pool, g_connection_pool_max_idle_time, \
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@
|
|||
|
||||
int g_fdfs_connect_timeout = DEFAULT_CONNECT_TIMEOUT;
|
||||
int g_fdfs_network_timeout = DEFAULT_NETWORK_TIMEOUT;
|
||||
char g_fdfs_base_path[MAX_PATH_SIZE] = {'/', 't', 'm', 'p', '\0'};
|
||||
Version g_fdfs_version = {6, 8};
|
||||
bool g_use_connection_pool = false;
|
||||
ConnectionPool g_connection_pool;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#define _FDFS_GLOBAL_H
|
||||
|
||||
#include "fastcommon/common_define.h"
|
||||
#include "sf/sf_global.h"
|
||||
#include "fdfs_define.h"
|
||||
#include "fastcommon/connection_pool.h"
|
||||
|
||||
|
|
@ -23,7 +24,6 @@ extern "C" {
|
|||
|
||||
extern int g_fdfs_connect_timeout;
|
||||
extern int g_fdfs_network_timeout;
|
||||
extern char g_fdfs_base_path[MAX_PATH_SIZE];
|
||||
extern Version g_fdfs_version;
|
||||
extern bool g_use_connection_pool;
|
||||
extern ConnectionPool g_connection_pool;
|
||||
|
|
|
|||
|
|
@ -7541,28 +7541,28 @@ static int load_config_files()
|
|||
if (zend_get_configuration_directive_wrapper(ITEM_NAME_BASE_PATH, \
|
||||
sizeof(ITEM_NAME_BASE_PATH), &base_path) != SUCCESS)
|
||||
{
|
||||
strcpy(g_fdfs_base_path, "/tmp");
|
||||
strcpy(SF_G_BASE_PATH_STR, "/tmp");
|
||||
fprintf(stderr, "file: "__FILE__", line: %d, " \
|
||||
"fastdfs_client.ini does not have item " \
|
||||
"\"%s\", set to %s!", __LINE__,
|
||||
ITEM_NAME_BASE_PATH, g_fdfs_base_path);
|
||||
ITEM_NAME_BASE_PATH, SF_G_BASE_PATH_STR);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(g_fdfs_base_path, sizeof(g_fdfs_base_path), "%s", \
|
||||
snprintf(SF_G_BASE_PATH_STR, sizeof(SF_G_BASE_PATH_STR), "%s", \
|
||||
Z_STRVAL_P(base_path));
|
||||
chopPath(g_fdfs_base_path);
|
||||
chopPath(SF_G_BASE_PATH_STR);
|
||||
}
|
||||
|
||||
if (!fileExists(g_fdfs_base_path))
|
||||
if (!fileExists(SF_G_BASE_PATH_STR))
|
||||
{
|
||||
logError("\"%s\" can't be accessed, error info: %s", \
|
||||
g_fdfs_base_path, STRERROR(errno));
|
||||
SF_G_BASE_PATH_STR, STRERROR(errno));
|
||||
return errno != 0 ? errno : ENOENT;
|
||||
}
|
||||
if (!isDir(g_fdfs_base_path))
|
||||
if (!isDir(SF_G_BASE_PATH_STR))
|
||||
{
|
||||
logError("\"%s\" is not a directory!", g_fdfs_base_path);
|
||||
logError("\"%s\" is not a directory!", SF_G_BASE_PATH_STR);
|
||||
return ENOTDIR;
|
||||
}
|
||||
|
||||
|
|
@ -7737,7 +7737,7 @@ static int load_config_files()
|
|||
"anti_steal_secret_key length=%d, " \
|
||||
"tracker_group_count=%d, first tracker group server_count=%d, "\
|
||||
"use_connection_pool=%d, connection_pool_max_idle_time: %d", \
|
||||
g_fdfs_base_path, g_fdfs_connect_timeout, \
|
||||
SF_G_BASE_PATH_STR, g_fdfs_connect_timeout, \
|
||||
g_fdfs_network_timeout, (int)strlen(pAntiStealSecretKey), \
|
||||
config_count, g_tracker_group.server_count, \
|
||||
g_use_connection_pool, g_connection_pool_max_idle_time);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
COMPILE = $(CC) $(CFLAGS)
|
||||
INC_PATH = -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon
|
||||
LIB_PATH = $(LIBS) -lfastcommon
|
||||
LIB_PATH = $(LIBS) -lfastcommon -lserverframe
|
||||
TARGET_PATH = $(TARGET_PREFIX)/bin
|
||||
CONFIG_PATH = $(TARGET_CONF_PATH)
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@
|
|||
#include "fdfs_global.h"
|
||||
#include "fastcommon/ini_file_reader.h"
|
||||
#include "fastcommon/sockopt.h"
|
||||
#include "sf/sf_service.h"
|
||||
#include "sf/sf_util.h"
|
||||
#include "tracker_types.h"
|
||||
#include "tracker_proto.h"
|
||||
#include "tracker_client_thread.h"
|
||||
|
|
@ -53,6 +55,7 @@
|
|||
#define ACCEPT_STAGE_DOING 1
|
||||
#define ACCEPT_STAGE_DONE 2
|
||||
|
||||
static bool daemon_mode = true;
|
||||
static bool bTerminateFlag = false;
|
||||
static char accept_stage = ACCEPT_STAGE_NONE;
|
||||
|
||||
|
|
@ -75,17 +78,9 @@ static void sigSegvHandler(int signum, siginfo_t *info, void *ptr);
|
|||
static void sigDumpHandler(int sig);
|
||||
#endif
|
||||
|
||||
static void usage(const char *program)
|
||||
{
|
||||
fprintf(stderr, "FastDFS server v%d.%02d\n"
|
||||
"Usage: %s <config_file> [start | stop | restart]\n",
|
||||
g_fdfs_version.major, g_fdfs_version.minor,
|
||||
program);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
char *conf_filename;
|
||||
const char *conf_filename;
|
||||
char *action;
|
||||
int result;
|
||||
int sock;
|
||||
|
|
@ -96,13 +91,19 @@ int main(int argc, char *argv[])
|
|||
|
||||
if (argc < 2)
|
||||
{
|
||||
usage(argv[0]);
|
||||
sf_usage(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
conf_filename = sf_parse_daemon_mode_and_action(argc, argv,
|
||||
&g_fdfs_version, &daemon_mode, &action);
|
||||
if (conf_filename == NULL)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
g_current_time = time(NULL);
|
||||
g_up_time = g_current_time;
|
||||
|
||||
log_init2();
|
||||
if ((result=trunk_shared_init()) != 0)
|
||||
{
|
||||
|
|
@ -110,17 +111,7 @@ int main(int argc, char *argv[])
|
|||
return result;
|
||||
}
|
||||
|
||||
conf_filename = argv[1];
|
||||
if (!fileExists(conf_filename))
|
||||
{
|
||||
if (starts_with(conf_filename, "-"))
|
||||
{
|
||||
usage(argv[0]);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if ((result=get_base_path_from_conf_file(conf_filename,
|
||||
g_fdfs_base_path, sizeof(g_fdfs_base_path))) != 0)
|
||||
if ((result=sf_get_base_path_from_conf_file(conf_filename)) != 0)
|
||||
{
|
||||
log_destroy();
|
||||
return result;
|
||||
|
|
@ -131,14 +122,14 @@ int main(int argc, char *argv[])
|
|||
log_destroy();
|
||||
return result;
|
||||
}
|
||||
|
||||
snprintf(pidFilename, sizeof(pidFilename),
|
||||
"%s/data/fdfs_storaged.pid", g_fdfs_base_path);
|
||||
action = argc >= 3 ? argv[2] : "start";
|
||||
"%s/data/fdfs_storaged.pid", SF_G_BASE_PATH_STR);
|
||||
if ((result=process_action(pidFilename, action, &stop)) != 0)
|
||||
{
|
||||
if (result == EINVAL)
|
||||
{
|
||||
usage(argv[0]);
|
||||
sf_usage(argv[0]);
|
||||
}
|
||||
log_destroy();
|
||||
return result;
|
||||
|
|
@ -159,7 +150,9 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
#endif
|
||||
|
||||
if (daemon_mode) {
|
||||
daemon_init(false);
|
||||
}
|
||||
umask(0);
|
||||
|
||||
if ((result=write_to_pid_file(pidFilename)) != 0)
|
||||
|
|
@ -429,7 +422,7 @@ static void sigDumpHandler(int sig)
|
|||
bDumpFlag = true;
|
||||
|
||||
snprintf(filename, sizeof(filename),
|
||||
"%s/logs/storage_dump.log", g_fdfs_base_path);
|
||||
"%s/logs/storage_dump.log", SF_G_BASE_PATH_STR);
|
||||
fdfs_dump_storage_global_vars_to_file(filename);
|
||||
|
||||
bDumpFlag = false;
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ static int fdfs_dump_global_vars(char *buff, const int buffSize)
|
|||
total_len = snprintf(buff, buffSize,
|
||||
"g_fdfs_connect_timeout=%ds\n"
|
||||
"g_fdfs_network_timeout=%ds\n"
|
||||
"g_fdfs_base_path=%s\n"
|
||||
"SF_G_BASE_PATH_STR=%s\n"
|
||||
"g_fdfs_version=%d.%02d\n"
|
||||
"g_continue_flag=%d\n"
|
||||
"g_schedule_flag=%d\n"
|
||||
|
|
@ -138,7 +138,7 @@ static int fdfs_dump_global_vars(char *buff, const int buffSize)
|
|||
#endif
|
||||
, g_fdfs_connect_timeout
|
||||
, g_fdfs_network_timeout
|
||||
, g_fdfs_base_path
|
||||
, SF_G_BASE_PATH_STR
|
||||
, g_fdfs_version.major, g_fdfs_version.minor
|
||||
, g_continue_flag
|
||||
, g_schedule_flag
|
||||
|
|
|
|||
|
|
@ -285,7 +285,7 @@ static char *get_storage_stat_filename(const void *pArg, char *full_filename)
|
|||
}
|
||||
|
||||
snprintf(full_filename, MAX_PATH_SIZE, \
|
||||
"%s/data/%s", g_fdfs_base_path, STORAGE_STAT_FILENAME);
|
||||
"%s/data/%s", SF_G_BASE_PATH_STR, STORAGE_STAT_FILENAME);
|
||||
return full_filename;
|
||||
}
|
||||
|
||||
|
|
@ -648,7 +648,7 @@ int storage_write_to_sync_ini_file()
|
|||
int i;
|
||||
|
||||
snprintf(full_filename, sizeof(full_filename),
|
||||
"%s/data/%s", g_fdfs_base_path, DATA_DIR_INITED_FILENAME);
|
||||
"%s/data/%s", SF_G_BASE_PATH_STR, DATA_DIR_INITED_FILENAME);
|
||||
|
||||
fdfs_multi_ips_to_string(&g_tracker_client_ip,
|
||||
ip_str, sizeof(ip_str));
|
||||
|
|
@ -702,7 +702,7 @@ int storage_check_and_make_global_data_path()
|
|||
{
|
||||
char data_path[MAX_PATH_SIZE];
|
||||
snprintf(data_path, sizeof(data_path), "%s/data",
|
||||
g_fdfs_base_path);
|
||||
SF_G_BASE_PATH_STR);
|
||||
if (!fileExists(data_path))
|
||||
{
|
||||
if (mkdir(data_path, 0755) != 0)
|
||||
|
|
@ -982,7 +982,7 @@ static int storage_check_and_make_data_dirs()
|
|||
bool pathCreated;
|
||||
|
||||
snprintf(data_path, sizeof(data_path), "%s/data",
|
||||
g_fdfs_base_path);
|
||||
SF_G_BASE_PATH_STR);
|
||||
snprintf(full_filename, sizeof(full_filename), "%s/%s",
|
||||
data_path, DATA_DIR_INITED_FILENAME);
|
||||
if (fileExists(full_filename))
|
||||
|
|
@ -1460,7 +1460,7 @@ int storage_func_init(const char *filename, \
|
|||
}
|
||||
|
||||
load_log_level(&iniContext);
|
||||
if ((result=log_set_prefix(g_fdfs_base_path, \
|
||||
if ((result=log_set_prefix(SF_G_BASE_PATH_STR, \
|
||||
STORAGE_ERROR_LOG_FILENAME)) != 0)
|
||||
{
|
||||
break;
|
||||
|
|
@ -1926,7 +1926,7 @@ int storage_func_init(const char *filename, \
|
|||
STORAGE_FILE_SIGNATURE_METHOD_HASH;
|
||||
}
|
||||
|
||||
strcpy(g_fdht_base_path, g_fdfs_base_path);
|
||||
strcpy(g_fdht_base_path, SF_G_BASE_PATH_STR);
|
||||
g_fdht_connect_timeout = g_fdfs_connect_timeout;
|
||||
g_fdht_network_timeout = g_fdfs_network_timeout;
|
||||
|
||||
|
|
@ -1996,7 +1996,7 @@ int storage_func_init(const char *filename, \
|
|||
LOG_TIME_PRECISION_MSECOND);
|
||||
log_set_cache_ex(&g_access_log_context, true);
|
||||
result = log_set_prefix_ex(&g_access_log_context, \
|
||||
g_fdfs_base_path, "storage_access");
|
||||
SF_G_BASE_PATH_STR, "storage_access");
|
||||
if (result != 0)
|
||||
{
|
||||
break;
|
||||
|
|
@ -2185,7 +2185,7 @@ int storage_func_init(const char *filename, \
|
|||
"compress_binlog_time=%02d:%02d, " \
|
||||
"check_store_path_mark=%d", \
|
||||
g_fdfs_version.major, g_fdfs_version.minor, \
|
||||
g_fdfs_base_path, g_fdfs_store_paths.count, \
|
||||
SF_G_BASE_PATH_STR, g_fdfs_store_paths.count, \
|
||||
g_subdir_count_per_path, \
|
||||
g_group_name, g_run_by_group, g_run_by_user, \
|
||||
g_fdfs_connect_timeout, g_fdfs_network_timeout, \
|
||||
|
|
|
|||
|
|
@ -1216,7 +1216,7 @@ static int write_to_binlog_index(const int binlog_index)
|
|||
int len;
|
||||
|
||||
snprintf(full_filename, sizeof(full_filename),
|
||||
"%s/data/"SYNC_DIR_NAME"/%s", g_fdfs_base_path,
|
||||
"%s/data/"SYNC_DIR_NAME"/%s", SF_G_BASE_PATH_STR,
|
||||
SYNC_BINLOG_INDEX_FILENAME);
|
||||
if ((fd=open(full_filename, O_WRONLY | O_CREAT | O_TRUNC, 0644)) < 0)
|
||||
{
|
||||
|
|
@ -1258,7 +1258,7 @@ static int get_binlog_index_from_file_old()
|
|||
int bytes;
|
||||
|
||||
snprintf(full_filename, sizeof(full_filename),
|
||||
"%s/data/"SYNC_DIR_NAME"/%s", g_fdfs_base_path,
|
||||
"%s/data/"SYNC_DIR_NAME"/%s", SF_G_BASE_PATH_STR,
|
||||
SYNC_BINLOG_INDEX_FILENAME_OLD);
|
||||
if ((fd=open(full_filename, O_RDONLY)) >= 0)
|
||||
{
|
||||
|
|
@ -1297,7 +1297,7 @@ static int get_binlog_index_from_file()
|
|||
int result;
|
||||
|
||||
snprintf(full_filename, sizeof(full_filename),
|
||||
"%s/data/"SYNC_DIR_NAME"/%s", g_fdfs_base_path,
|
||||
"%s/data/"SYNC_DIR_NAME"/%s", SF_G_BASE_PATH_STR,
|
||||
SYNC_BINLOG_INDEX_FILENAME);
|
||||
if (access(full_filename, F_OK) != 0)
|
||||
{
|
||||
|
|
@ -1348,7 +1348,7 @@ static char *get_writable_binlog_filename(char *full_filename)
|
|||
snprintf(full_filename, MAX_PATH_SIZE, \
|
||||
"%s/data/"SYNC_DIR_NAME"/"SYNC_BINLOG_FILE_PREFIX"" \
|
||||
SYNC_BINLOG_FILE_EXT_FMT, \
|
||||
g_fdfs_base_path, g_binlog_index);
|
||||
SF_G_BASE_PATH_STR, g_binlog_index);
|
||||
return full_filename;
|
||||
}
|
||||
|
||||
|
|
@ -1358,7 +1358,7 @@ static char *get_writable_binlog_filename1(char *full_filename, \
|
|||
snprintf(full_filename, MAX_PATH_SIZE, \
|
||||
"%s/data/"SYNC_DIR_NAME"/"SYNC_BINLOG_FILE_PREFIX"" \
|
||||
SYNC_BINLOG_FILE_EXT_FMT, \
|
||||
g_fdfs_base_path, binlog_index);
|
||||
SF_G_BASE_PATH_STR, binlog_index);
|
||||
return full_filename;
|
||||
}
|
||||
|
||||
|
|
@ -1413,7 +1413,7 @@ int storage_sync_init()
|
|||
char full_filename[MAX_PATH_SIZE];
|
||||
int result;
|
||||
|
||||
snprintf(data_path, sizeof(data_path), "%s/data", g_fdfs_base_path);
|
||||
snprintf(data_path, sizeof(data_path), "%s/data", SF_G_BASE_PATH_STR);
|
||||
if (!fileExists(data_path))
|
||||
{
|
||||
if (mkdir(data_path, 0755) != 0)
|
||||
|
|
@ -1720,7 +1720,7 @@ static char *get_binlog_readable_filename_ex(
|
|||
snprintf(full_filename, MAX_PATH_SIZE,
|
||||
"%s/data/"SYNC_DIR_NAME"/"SYNC_BINLOG_FILE_PREFIX""
|
||||
SYNC_BINLOG_FILE_EXT_FMT,
|
||||
g_fdfs_base_path, binlog_index);
|
||||
SF_G_BASE_PATH_STR, binlog_index);
|
||||
return full_filename;
|
||||
}
|
||||
|
||||
|
|
@ -1952,13 +1952,13 @@ static char *get_mark_filename_by_id_and_port(const char *storage_id,
|
|||
if (g_use_storage_id)
|
||||
{
|
||||
snprintf(full_filename, filename_size,
|
||||
"%s/data/"SYNC_DIR_NAME"/%s%s", g_fdfs_base_path,
|
||||
"%s/data/"SYNC_DIR_NAME"/%s%s", SF_G_BASE_PATH_STR,
|
||||
storage_id, SYNC_MARK_FILE_EXT);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(full_filename, filename_size,
|
||||
"%s/data/"SYNC_DIR_NAME"/%s_%d%s", g_fdfs_base_path,
|
||||
"%s/data/"SYNC_DIR_NAME"/%s_%d%s", SF_G_BASE_PATH_STR,
|
||||
storage_id, port, SYNC_MARK_FILE_EXT);
|
||||
}
|
||||
return full_filename;
|
||||
|
|
@ -1968,7 +1968,7 @@ static char *get_mark_filename_by_ip_and_port(const char *ip_addr,
|
|||
const int port, char *full_filename, const int filename_size)
|
||||
{
|
||||
snprintf(full_filename, filename_size,
|
||||
"%s/data/"SYNC_DIR_NAME"/%s_%d%s", g_fdfs_base_path,
|
||||
"%s/data/"SYNC_DIR_NAME"/%s_%d%s", SF_G_BASE_PATH_STR,
|
||||
ip_addr, port, SYNC_MARK_FILE_EXT);
|
||||
return full_filename;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ static int storage_trunk_node_compare_offset(void *p1, void *p2)
|
|||
char *storage_trunk_get_data_filename(char *full_filename)
|
||||
{
|
||||
snprintf(full_filename, MAX_PATH_SIZE, "%s/data/%s",
|
||||
g_fdfs_base_path, STORAGE_TRUNK_DATA_FILENAME);
|
||||
SF_G_BASE_PATH_STR, STORAGE_TRUNK_DATA_FILENAME);
|
||||
return full_filename;
|
||||
}
|
||||
|
||||
|
|
@ -269,7 +269,7 @@ int storage_trunk_init()
|
|||
/*
|
||||
{
|
||||
char filename[MAX_PATH_SIZE];
|
||||
sprintf(filename, "%s/logs/tttt.dat", g_fdfs_base_path);
|
||||
sprintf(filename, "%s/logs/tttt.dat", SF_G_BASE_PATH_STR);
|
||||
trunk_free_block_tree_print(filename);
|
||||
}
|
||||
*/
|
||||
|
|
@ -727,7 +727,7 @@ static int trunk_open_file_writers(struct walk_callback_args *pCallbackArgs)
|
|||
memset(pCallbackArgs, 0, sizeof(*pCallbackArgs));
|
||||
|
||||
snprintf(temp_trunk_filename, MAX_PATH_SIZE, "%s/data/.%s.tmp",
|
||||
g_fdfs_base_path, STORAGE_TRUNK_DATA_FILENAME);
|
||||
SF_G_BASE_PATH_STR, STORAGE_TRUNK_DATA_FILENAME);
|
||||
if ((result=buffered_file_writer_open(&pCallbackArgs->data_writer,
|
||||
temp_trunk_filename)) != 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ FDFSStorePathInfo *storage_load_paths_from_conf_file_ex(
|
|||
return NULL;
|
||||
}
|
||||
|
||||
pPath = g_fdfs_base_path;
|
||||
pPath = SF_G_BASE_PATH_STR;
|
||||
}
|
||||
|
||||
store_paths[0].path_len = strlen(pPath);
|
||||
|
|
@ -185,20 +185,20 @@ int storage_load_paths_from_conf_file(IniContext *pItemContext)
|
|||
return ENOENT;
|
||||
}
|
||||
|
||||
snprintf(g_fdfs_base_path, sizeof(g_fdfs_base_path), "%s", pPath);
|
||||
chopPath(g_fdfs_base_path);
|
||||
if (!fileExists(g_fdfs_base_path))
|
||||
snprintf(SF_G_BASE_PATH_STR, sizeof(SF_G_BASE_PATH_STR), "%s", pPath);
|
||||
chopPath(SF_G_BASE_PATH_STR);
|
||||
if (!fileExists(SF_G_BASE_PATH_STR))
|
||||
{
|
||||
logError("file: "__FILE__", line: %d, "
|
||||
"\"%s\" can't be accessed, error info: %s",
|
||||
__LINE__, STRERROR(errno), g_fdfs_base_path);
|
||||
__LINE__, STRERROR(errno), SF_G_BASE_PATH_STR);
|
||||
return errno != 0 ? errno : ENOENT;
|
||||
}
|
||||
if (!isDir(g_fdfs_base_path))
|
||||
if (!isDir(SF_G_BASE_PATH_STR))
|
||||
{
|
||||
logError("file: "__FILE__", line: %d, "
|
||||
"\"%s\" is not a directory!",
|
||||
__LINE__, g_fdfs_base_path);
|
||||
__LINE__, SF_G_BASE_PATH_STR);
|
||||
return ENOTDIR;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ char *get_trunk_binlog_filename(char *full_filename)
|
|||
{
|
||||
snprintf(full_filename, MAX_PATH_SIZE, \
|
||||
"%s/data/"TRUNK_DIR_NAME"/"TRUNK_SYNC_BINLOG_FILENAME_STR, \
|
||||
g_fdfs_base_path);
|
||||
SF_G_BASE_PATH_STR);
|
||||
return full_filename;
|
||||
}
|
||||
|
||||
|
|
@ -171,7 +171,7 @@ int trunk_sync_init()
|
|||
char binlog_filename[MAX_PATH_SIZE];
|
||||
int result;
|
||||
|
||||
snprintf(data_path, sizeof(data_path), "%s/data", g_fdfs_base_path);
|
||||
snprintf(data_path, sizeof(data_path), "%s/data", SF_G_BASE_PATH_STR);
|
||||
if (!fileExists(data_path))
|
||||
{
|
||||
if (mkdir(data_path, 0755) != 0)
|
||||
|
|
@ -487,7 +487,7 @@ static int trunk_binlog_delete_overflow_backups()
|
|||
TrunkBinlogBackupFileArray file_array;
|
||||
|
||||
snprintf(file_path, sizeof(file_path),
|
||||
"%s/data/%s", g_fdfs_base_path, TRUNK_DIR_NAME);
|
||||
"%s/data/%s", SF_G_BASE_PATH_STR, TRUNK_DIR_NAME);
|
||||
if ((dir=opendir(file_path)) == NULL)
|
||||
{
|
||||
result = errno != 0 ? errno : EPERM;
|
||||
|
|
@ -1435,7 +1435,7 @@ static char *get_binlog_readable_filename(const void *pArg,
|
|||
|
||||
snprintf(full_filename, MAX_PATH_SIZE,
|
||||
"%s/data/"TRUNK_DIR_NAME"/"TRUNK_SYNC_BINLOG_FILENAME_STR,
|
||||
g_fdfs_base_path);
|
||||
SF_G_BASE_PATH_STR);
|
||||
return full_filename;
|
||||
}
|
||||
|
||||
|
|
@ -1505,13 +1505,13 @@ static char *trunk_get_mark_filename_by_id_and_port(const char *storage_id, \
|
|||
if (g_use_storage_id)
|
||||
{
|
||||
snprintf(full_filename, filename_size, \
|
||||
"%s/data/"TRUNK_DIR_NAME"/%s%s", g_fdfs_base_path, \
|
||||
"%s/data/"TRUNK_DIR_NAME"/%s%s", SF_G_BASE_PATH_STR, \
|
||||
storage_id, TRUNK_SYNC_MARK_FILE_EXT_STR);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(full_filename, filename_size, \
|
||||
"%s/data/"TRUNK_DIR_NAME"/%s_%d%s", g_fdfs_base_path, \
|
||||
"%s/data/"TRUNK_DIR_NAME"/%s_%d%s", SF_G_BASE_PATH_STR, \
|
||||
storage_id, port, TRUNK_SYNC_MARK_FILE_EXT_STR);
|
||||
}
|
||||
|
||||
|
|
@ -1522,7 +1522,7 @@ static char *trunk_get_mark_filename_by_ip_and_port(const char *ip_addr, \
|
|||
const int port, char *full_filename, const int filename_size)
|
||||
{
|
||||
snprintf(full_filename, filename_size, \
|
||||
"%s/data/"TRUNK_DIR_NAME"/%s_%d%s", g_fdfs_base_path, \
|
||||
"%s/data/"TRUNK_DIR_NAME"/%s_%d%s", SF_G_BASE_PATH_STR, \
|
||||
ip_addr, port, TRUNK_SYNC_MARK_FILE_EXT_STR);
|
||||
|
||||
return full_filename;
|
||||
|
|
@ -2486,7 +2486,7 @@ int trunk_unlink_all_mark_files()
|
|||
localtime_r(&t, &tm);
|
||||
|
||||
snprintf(file_path, sizeof(file_path),
|
||||
"%s/data/%s", g_fdfs_base_path, TRUNK_DIR_NAME);
|
||||
"%s/data/%s", SF_G_BASE_PATH_STR, TRUNK_DIR_NAME);
|
||||
|
||||
if ((dir=opendir(file_path)) == NULL)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
COMPILE = $(CC) $(CFLAGS)
|
||||
INC_PATH = -I../common -I/usr/local/include
|
||||
LIB_PATH = $(LIBS) -lfastcommon
|
||||
LIB_PATH = $(LIBS) -lfastcommon -lserverframe
|
||||
TARGET_PATH = $(TARGET_PREFIX)/bin
|
||||
CONFIG_PATH = $(TARGET_CONF_PATH)
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@
|
|||
#include "fastcommon/base64.h"
|
||||
#include "fastcommon/sockopt.h"
|
||||
#include "fastcommon/sched_thread.h"
|
||||
#include "sf/sf_service.h"
|
||||
#include "sf/sf_util.h"
|
||||
#include "tracker_types.h"
|
||||
#include "tracker_mem.h"
|
||||
#include "tracker_service.h"
|
||||
|
|
@ -46,6 +48,7 @@
|
|||
#include "tracker_dump.h"
|
||||
#endif
|
||||
|
||||
static bool daemon_mode = true;
|
||||
static bool bTerminateFlag = false;
|
||||
static bool bAcceptEndFlag = false;
|
||||
|
||||
|
|
@ -68,17 +71,9 @@ static void sigDumpHandler(int sig);
|
|||
|
||||
#define SCHEDULE_ENTRIES_COUNT 5
|
||||
|
||||
static void usage(const char *program)
|
||||
{
|
||||
fprintf(stderr, "FastDFS server v%d.%02d\n"
|
||||
"Usage: %s <config_file> [start | stop | restart]\n",
|
||||
g_fdfs_version.major, g_fdfs_version.minor,
|
||||
program);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
char *conf_filename;
|
||||
const char *conf_filename;
|
||||
char *action;
|
||||
int result;
|
||||
int wait_count;
|
||||
|
|
@ -92,40 +87,35 @@ int main(int argc, char *argv[])
|
|||
|
||||
if (argc < 2)
|
||||
{
|
||||
usage(argv[0]);
|
||||
sf_usage(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
conf_filename = sf_parse_daemon_mode_and_action(argc, argv,
|
||||
&g_fdfs_version, &daemon_mode, &action);
|
||||
if (conf_filename == NULL)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
g_current_time = time(NULL);
|
||||
g_up_time = g_current_time;
|
||||
srand(g_up_time);
|
||||
|
||||
log_init2();
|
||||
|
||||
conf_filename = argv[1];
|
||||
if (!fileExists(conf_filename))
|
||||
{
|
||||
if (starts_with(conf_filename, "-"))
|
||||
{
|
||||
usage(argv[0]);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if ((result=get_base_path_from_conf_file(conf_filename,
|
||||
g_fdfs_base_path, sizeof(g_fdfs_base_path))) != 0)
|
||||
if ((result=sf_get_base_path_from_conf_file(conf_filename)) != 0)
|
||||
{
|
||||
log_destroy();
|
||||
return result;
|
||||
}
|
||||
|
||||
snprintf(pidFilename, sizeof(pidFilename),
|
||||
"%s/data/fdfs_trackerd.pid", g_fdfs_base_path);
|
||||
action = argc >= 3 ? argv[2] : "start";
|
||||
"%s/data/fdfs_trackerd.pid", SF_G_BASE_PATH_STR);
|
||||
if ((result=process_action(pidFilename, action, &stop)) != 0)
|
||||
{
|
||||
if (result == EINVAL)
|
||||
{
|
||||
usage(argv[0]);
|
||||
sf_usage(argv[0]);
|
||||
}
|
||||
log_destroy();
|
||||
return result;
|
||||
|
|
@ -192,7 +182,10 @@ int main(int argc, char *argv[])
|
|||
return result;
|
||||
}
|
||||
|
||||
if (daemon_mode)
|
||||
{
|
||||
daemon_init(false);
|
||||
}
|
||||
umask(0);
|
||||
|
||||
if ((result=write_to_pid_file(pidFilename)) != 0)
|
||||
|
|
@ -441,7 +434,7 @@ static void sigDumpHandler(int sig)
|
|||
bDumpFlag = true;
|
||||
|
||||
snprintf(filename, sizeof(filename),
|
||||
"%s/logs/tracker_dump.log", g_fdfs_base_path);
|
||||
"%s/logs/tracker_dump.log", SF_G_BASE_PATH_STR);
|
||||
fdfs_dump_tracker_global_vars_to_file(filename);
|
||||
|
||||
bDumpFlag = false;
|
||||
|
|
|
|||
|
|
@ -293,7 +293,7 @@ static int fdfs_dump_global_vars(char *buff, const int buffSize)
|
|||
total_len = snprintf(buff, buffSize,
|
||||
"g_fdfs_connect_timeout=%ds\n"
|
||||
"g_fdfs_network_timeout=%ds\n"
|
||||
"g_fdfs_base_path=%s\n"
|
||||
"SF_G_BASE_PATH_STR=%s\n"
|
||||
"g_fdfs_version=%d.%02d\n"
|
||||
"g_continue_flag=%d\n"
|
||||
"g_schedule_flag=%d\n"
|
||||
|
|
@ -347,7 +347,7 @@ static int fdfs_dump_global_vars(char *buff, const int buffSize)
|
|||
#endif
|
||||
, g_fdfs_connect_timeout
|
||||
, g_fdfs_network_timeout
|
||||
, g_fdfs_base_path
|
||||
, SF_G_BASE_PATH_STR
|
||||
, g_fdfs_version.major, g_fdfs_version.minor
|
||||
, g_continue_flag
|
||||
, g_schedule_flag
|
||||
|
|
|
|||
|
|
@ -188,27 +188,27 @@ int tracker_load_from_conf_file(const char *filename, \
|
|||
break;
|
||||
}
|
||||
|
||||
snprintf(g_fdfs_base_path, sizeof(g_fdfs_base_path), "%s", pBasePath);
|
||||
chopPath(g_fdfs_base_path);
|
||||
if (!fileExists(g_fdfs_base_path))
|
||||
snprintf(SF_G_BASE_PATH_STR, sizeof(SF_G_BASE_PATH_STR), "%s", pBasePath);
|
||||
chopPath(SF_G_BASE_PATH_STR);
|
||||
if (!fileExists(SF_G_BASE_PATH_STR))
|
||||
{
|
||||
logError("file: "__FILE__", line: %d, " \
|
||||
"\"%s\" can't be accessed, error info: %s", \
|
||||
__LINE__, g_fdfs_base_path, STRERROR(errno));
|
||||
__LINE__, SF_G_BASE_PATH_STR, STRERROR(errno));
|
||||
result = errno != 0 ? errno : ENOENT;
|
||||
break;
|
||||
}
|
||||
if (!isDir(g_fdfs_base_path))
|
||||
if (!isDir(SF_G_BASE_PATH_STR))
|
||||
{
|
||||
logError("file: "__FILE__", line: %d, " \
|
||||
"\"%s\" is not a directory!", \
|
||||
__LINE__, g_fdfs_base_path);
|
||||
__LINE__, SF_G_BASE_PATH_STR);
|
||||
result = ENOTDIR;
|
||||
break;
|
||||
}
|
||||
|
||||
load_log_level(&iniContext);
|
||||
if ((result=log_set_prefix(g_fdfs_base_path, \
|
||||
if ((result=log_set_prefix(SF_G_BASE_PATH_STR, \
|
||||
TRACKER_ERROR_LOG_FILENAME)) != 0)
|
||||
{
|
||||
break;
|
||||
|
|
@ -800,7 +800,7 @@ int tracker_load_from_conf_file(const char *filename, \
|
|||
"use_connection_pool=%d, "
|
||||
"g_connection_pool_max_idle_time=%ds",
|
||||
g_fdfs_version.major, g_fdfs_version.minor,
|
||||
g_fdfs_base_path, g_run_by_group, g_run_by_user,
|
||||
SF_G_BASE_PATH_STR, g_run_by_group, g_run_by_user,
|
||||
g_fdfs_connect_timeout,
|
||||
g_fdfs_network_timeout, g_server_port, bind_addr,
|
||||
g_max_connections, g_accept_threads, g_work_threads,
|
||||
|
|
|
|||
|
|
@ -758,7 +758,7 @@ static int tracker_locate_group_trunk_servers(FDFSGroups *pGroups, \
|
|||
{
|
||||
snprintf(buff, sizeof(buff), \
|
||||
"in the file \"%s/data/%s\", ", \
|
||||
g_fdfs_base_path, \
|
||||
SF_G_BASE_PATH_STR, \
|
||||
STORAGE_GROUPS_LIST_FILENAME_NEW);
|
||||
}
|
||||
else
|
||||
|
|
@ -824,7 +824,7 @@ static int tracker_locate_storage_sync_server(FDFSGroups *pGroups, \
|
|||
{
|
||||
snprintf(buff, sizeof(buff), \
|
||||
"in the file \"%s/data/%s\", ", \
|
||||
g_fdfs_base_path, \
|
||||
SF_G_BASE_PATH_STR, \
|
||||
STORAGE_SERVERS_LIST_FILENAME_NEW);
|
||||
}
|
||||
else
|
||||
|
|
@ -1600,7 +1600,7 @@ static int tracker_load_data(FDFSGroups *pGroups)
|
|||
FDFSStorageSync *pTrunkServers;
|
||||
int nTrunkServerCount;
|
||||
|
||||
snprintf(data_path, sizeof(data_path), "%s/data", g_fdfs_base_path);
|
||||
snprintf(data_path, sizeof(data_path), "%s/data", SF_G_BASE_PATH_STR);
|
||||
if (!fileExists(data_path))
|
||||
{
|
||||
if (mkdir(data_path, 0755) != 0)
|
||||
|
|
@ -1681,7 +1681,7 @@ int tracker_save_groups()
|
|||
tracker_mem_file_lock();
|
||||
|
||||
snprintf(trueFilename, sizeof(trueFilename), "%s/data/%s", \
|
||||
g_fdfs_base_path, STORAGE_GROUPS_LIST_FILENAME_NEW);
|
||||
SF_G_BASE_PATH_STR, STORAGE_GROUPS_LIST_FILENAME_NEW);
|
||||
snprintf(tmpFilename, sizeof(tmpFilename), "%s.tmp", trueFilename);
|
||||
if ((fd=open(tmpFilename, O_WRONLY | O_CREAT | O_TRUNC, 0644)) < 0)
|
||||
{
|
||||
|
|
@ -1820,7 +1820,7 @@ int tracker_save_storages()
|
|||
tracker_mem_file_lock();
|
||||
|
||||
snprintf(trueFilename, sizeof(trueFilename), "%s/data/%s", \
|
||||
g_fdfs_base_path, STORAGE_SERVERS_LIST_FILENAME_NEW);
|
||||
SF_G_BASE_PATH_STR, STORAGE_SERVERS_LIST_FILENAME_NEW);
|
||||
snprintf(tmpFilename, sizeof(tmpFilename), "%s.tmp", trueFilename);
|
||||
if ((fd=open(tmpFilename, O_WRONLY | O_CREAT | O_TRUNC, 0644)) < 0)
|
||||
{
|
||||
|
|
@ -2108,7 +2108,7 @@ int tracker_save_sync_timestamps()
|
|||
tracker_mem_file_lock();
|
||||
|
||||
snprintf(trueFilename, sizeof(trueFilename), "%s/data/%s", \
|
||||
g_fdfs_base_path, STORAGE_SYNC_TIMESTAMP_FILENAME);
|
||||
SF_G_BASE_PATH_STR, STORAGE_SYNC_TIMESTAMP_FILENAME);
|
||||
snprintf(tmpFilename, sizeof(tmpFilename), "%s.tmp", trueFilename);
|
||||
if ((fd=open(tmpFilename, O_WRONLY | O_CREAT | O_TRUNC, 0644)) < 0)
|
||||
{
|
||||
|
|
@ -2232,7 +2232,7 @@ static int tracker_open_changlog_file()
|
|||
char data_path[MAX_PATH_SIZE];
|
||||
char filename[MAX_PATH_SIZE];
|
||||
|
||||
snprintf(data_path, sizeof(data_path), "%s/data", g_fdfs_base_path);
|
||||
snprintf(data_path, sizeof(data_path), "%s/data", SF_G_BASE_PATH_STR);
|
||||
if (!fileExists(data_path))
|
||||
{
|
||||
if (mkdir(data_path, 0755) != 0)
|
||||
|
|
@ -2247,7 +2247,7 @@ static int tracker_open_changlog_file()
|
|||
}
|
||||
|
||||
snprintf(filename, sizeof(filename), "%s/data/%s", \
|
||||
g_fdfs_base_path, STORAGE_SERVERS_CHANGELOG_FILENAME);
|
||||
SF_G_BASE_PATH_STR, STORAGE_SERVERS_CHANGELOG_FILENAME);
|
||||
changelog_fd = open(filename, O_WRONLY | O_CREAT | O_APPEND, 0644);
|
||||
if (changelog_fd < 0)
|
||||
{
|
||||
|
|
@ -3934,7 +3934,7 @@ static int tracker_mem_get_one_sys_file(ConnectionInfo *pTrackerServer, \
|
|||
int64_t file_size;
|
||||
|
||||
snprintf(full_filename, sizeof(full_filename), "%s/data/%s", \
|
||||
g_fdfs_base_path, g_tracker_sys_filenames[file_index]);
|
||||
SF_G_BASE_PATH_STR, g_tracker_sys_filenames[file_index]);
|
||||
fd = open(full_filename, O_WRONLY | O_CREAT | O_TRUNC, 0644);
|
||||
if (fd < 0)
|
||||
{
|
||||
|
|
@ -5094,7 +5094,7 @@ static int tracker_write_to_trunk_change_log(FDFSGroupInfo *pGroup, \
|
|||
tracker_mem_file_lock();
|
||||
|
||||
snprintf(full_filename, sizeof(full_filename), "%s/logs/%s", \
|
||||
g_fdfs_base_path, TRUNK_SERVER_CHANGELOG_FILENAME);
|
||||
SF_G_BASE_PATH_STR, TRUNK_SERVER_CHANGELOG_FILENAME);
|
||||
if ((fd=open(full_filename, O_WRONLY | O_CREAT | O_APPEND, 0644)) < 0)
|
||||
{
|
||||
tracker_mem_file_unlock();
|
||||
|
|
|
|||
|
|
@ -486,7 +486,7 @@ static int tracker_changelog_response(struct fast_task_info *pTask, \
|
|||
chg_len = TRACKER_MAX_PACKAGE_SIZE - sizeof(TrackerHeader);
|
||||
}
|
||||
|
||||
snprintf(filename, sizeof(filename), "%s/data/%s", g_fdfs_base_path,\
|
||||
snprintf(filename, sizeof(filename), "%s/data/%s", SF_G_BASE_PATH_STR,\
|
||||
STORAGE_SERVERS_CHANGELOG_FILENAME);
|
||||
fd = open(filename, O_RDONLY);
|
||||
if (fd < 0)
|
||||
|
|
@ -2098,7 +2098,7 @@ static int tracker_deal_get_one_sys_file(struct fast_task_info *pTask)
|
|||
}
|
||||
|
||||
snprintf(full_filename, sizeof(full_filename), "%s/data/%s", \
|
||||
g_fdfs_base_path, g_tracker_sys_filenames[index]);
|
||||
SF_G_BASE_PATH_STR, g_tracker_sys_filenames[index]);
|
||||
if (stat(full_filename, &file_stat) != 0)
|
||||
{
|
||||
result = errno != 0 ? errno : ENOENT;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ int tracker_write_status_to_file(void *args)
|
|||
int len;
|
||||
|
||||
snprintf(full_filename, sizeof(full_filename), "%s/data/%s", \
|
||||
g_fdfs_base_path, TRACKER_STATUS_FILENAME);
|
||||
SF_G_BASE_PATH_STR, TRACKER_STATUS_FILENAME);
|
||||
|
||||
len = sprintf(buff, "%s=%d\n" \
|
||||
"%s=%d\n",
|
||||
|
|
@ -56,7 +56,7 @@ int tracker_load_status_from_file(TrackerStatus *pStatus)
|
|||
int result;
|
||||
|
||||
snprintf(full_filename, sizeof(full_filename), "%s/data/%s", \
|
||||
g_fdfs_base_path, TRACKER_STATUS_FILENAME);
|
||||
SF_G_BASE_PATH_STR, TRACKER_STATUS_FILENAME);
|
||||
if (!fileExists(full_filename))
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue