key.create(CEPH_SECRET_AES);
bufferlist bl;
- int r = bl.read_file(fn);
+ int r = bl.read_file(fn, true);
if (r >= 0) {
try {
bufferlist::iterator iter = bl.begin();
cerr << "error reading file " << fn << std::endl;
exit(1);
}
+ } else if (r == -ENOENT) {
+ cout << "creating " << fn << std::endl;
+ } else {
+ cerr << "can't open " << fn << ": " << strerror(errno) << std::endl;
+ exit(1);
}
if (gen_key) {
atomic_t buffer_total_alloc;
-int buffer::list::read_file(const char *fn)
+int buffer::list::read_file(const char *fn, bool silent)
{
struct stat st;
int fd = ::open(fn, O_RDONLY);
if (fd < 0) {
- char buf[80];
- cerr << "can't open " << fn << ": " << strerror_r(errno, buf, sizeof(buf)) << std::endl;
+ if (!silent) {
+ char buf[80];
+ cerr << "can't open " << fn << ": " << strerror_r(errno, buf, sizeof(buf)) << std::endl;
+ }
return -errno;
}
::fstat(fd, &st);
}
void hexdump(std::ostream &out);
- int read_file(const char *fn);
+ int read_file(const char *fn, bool silent=false);
int write_file(const char *fn);
__u32 crc32c(__u32 crc) {
for (std::list<ptr>::const_iterator it = _buffers.begin();
monkeys_fn=monkeys.bin
CEPH_ADM="$CEPH_BIN/ceph -k $monkeys_fn -I admin"
+test -e $monkeys_fn && rm $monkeys_fn
if [ "$start_mon" -eq 1 ]; then
if [ "$new" -eq 1 ]; then
for f in `seq 0 $((CEPH_NUM_MON-1))`
do
- echo $CEPH_BIN/mkmonfs --clobber --mon-data dev/mon$f -i $f --monmap .ceph_monmap --osdmap .ceph_osdmap
+ echo $CEPH_BIN/mkmonfs -c $conf --clobber --mon-data dev/mon$f -i $f --monmap=.ceph_monmap --osdmap=.ceph_osdmap --keys-file=$monkeys_fn
$CEPH_BIN/mkmonfs -c $conf --clobber --mon-data=dev/mon$f -i $f --monmap=.ceph_monmap --osdmap=.ceph_osdmap --keys-file=$monkeys_fn
done
fi