}
if (m_filestore_journal_writeahead)
journal->set_wait_on_full(true);
+ } else {
+ dout(0) << "mount: no journal" << dendl;
}
ret = _sanity_check_fs();
return 0;
}
+ if (!journal) {
+ Op *o = build_op(tls, onreadable, onreadable_sync, osd_op);
+ dout(5) << __func__ << " (no journal) " << o << " " << tls << dendl;
+
+ op_queue_reserve_throttle(o, handle);
+
+ uint64_t op_num = submit_manager.op_submit_start();
+ o->op = op_num;
+
+ if (m_filestore_do_dump)
+ dump_transactions(o->tls, o->op, osr);
+
+ queue_op(osr, o);
+
+ if (ondisk)
+ apply_manager.add_waiter(op_num, ondisk);
+ submit_manager.op_submit_finish(op_num);
+ return 0;
+ }
+
uint64_t op = submit_manager.op_submit_start();
dout(5) << "queue_transactions (trailing journal) " << op << " " << tls << dendl;
uint64_t op_seq = fs_op_seq;
apply_manager.init_seq(fs_op_seq);
- if (!journal)
+ if (!journal) {
+ submit_manager.set_op_seq(op_seq);
return 0;
+ }
int err = journal->open(op_seq);
if (err < 0) {
cephx=1 #turn cephx on by default
cache=""
memstore=0
+journal=1
MON_ADDR=""
usage=$usage"\t-X disable cephx\n"
usage=$usage"\t--hitset <pool> <hit_set_type>: enable hitset tracking\n"
usage=$usage"\t-o config\t\t add extra config parameters to mds section\n"
+usage=$usage"\t-J no journal\t\tdisable filestore journal\n"
+
usage_exit() {
printf "$usage"
-X )
cephx=0
;;
+ -J )
+ journal=0
+ ;;
-k )
overwrite_conf=0
;;
auth client required = none
EOF
fi
+ if [ $journal -eq 1 ]; then
+ journal_path="$CEPH_DEV_DIR/osd\$id.journal"
+ else
+ journal_path=""
+ fi
cat <<EOF >> $conf
[client]
[osd]
$DAEMONOPTS
osd data = $CEPH_DEV_DIR/osd\$id
- osd journal = $CEPH_DEV_DIR/osd\$id.journal
+ osd journal = $journal_path
osd journal size = 100
osd class tmp = out
osd class dir = .libs