OSBDB_OBJ = osbdb.o
endif
-TARGETS = cmon cosd cmds cfuse csyn newsyn fakesyn mkmonmap
+TARGETS = cmon cosd cmds csyn newsyn fakesyn mkmonmap cfuse fakefuse
SRCS=*.cc */*.cc *.h */*.h */*/*.h
// args for fuse
vec_to_argv(args, argc, argv);
+ // FUSE will chdir("/"); be ready.
+ g_conf.use_abspaths = true;
+
// load monmap
MonMap monmap;
int r = monmap.read(".ceph_monmap");
{
logger_lock.Lock();
{
+ filename = "";
+ if (g_conf.use_abspaths) {
+ filename = get_current_dir_name();
+ filename += "/";
+ }
+
filename = "log/";
if (g_conf.log_name) {
filename += g_conf.log_name;
debug_after: 0,
+ // -- misc --
+ use_abspaths: false, // make monitorstore et al use absolute path (to workaround FUSE chdir("/"))
+
// --- clock ---
clock_lock: false,
mon_osd_down_out_interval: 5, // seconds
mon_lease: 2.000, // seconds
mon_stop_with_last_mds: true,
- mon_store_abspath: false, // make monitorstore use absolute path (to workaround fakefuse idiocy)
// --- client ---
client_cache_size: 300,
int debug_after;
+ // misc
+ bool use_abspaths;
+
// clock
bool clock_lock;
int mon_osd_down_out_interval;
float mon_lease;
bool mon_stop_with_last_mds;
- bool mon_store_abspath;
// client
int client_cache_size;
args = nargs;
vec_to_argv(args, argc, argv);
- // make monitorstore use abspath, since fuse seems to screw with the cwd
- g_conf.mon_store_abspath = true;
+ // FUSE will chdir("/"); be ready.
+ g_conf.use_abspaths = true;
MonMap *monmap = new MonMap(g_conf.num_mon);
}
::closedir(d);
- if (g_conf.mon_store_abspath) {
+ if (g_conf.use_abspaths) {
// combine it with the cwd, in case fuse screws things up (i.e. fakefuse)
string old = dir;
dir = get_current_dir_name();