char fn[1024];
snprintf(fn, sizeof(fn), "%s/%s", dir.c_str(), a);
if (b) {
- ::mkdir(fn, 0755);
+ int r = ::mkdir(fn, 0755);
+ if (r < 0) {
+ int err = -errno;
+ derr << __func__ << " failed to create dir " << fn << ": "
+ << cpp_strerror(err) << dendl;
+ ceph_abort();
+ }
dout(15) << "set_int " << a << "/" << b << " = " << val << dendl;
snprintf(fn, sizeof(fn), "%s/%s/%s", dir.c_str(), a, b);
} else {
int MonitorStore::write_bl_ss_impl(bufferlist& bl, const char *a, const char *b, bool append)
{
+ int err = 0;
char fn[1024];
snprintf(fn, sizeof(fn), "%s/%s", dir.c_str(), a);
if (b) {
- ::mkdir(fn, 0755);
+ int r = ::mkdir(fn, 0755);
+ if (r < 0) {
+ err = -errno;
+ derr << __func__ << " failed to create dir " << fn
+ << ": " << cpp_strerror(err) << dendl;
+ return err;
+ }
dout(15) << "put_bl " << a << "/" << b << " = " << bl.length() << " bytes" << dendl;
snprintf(fn, sizeof(fn), "%s/%s/%s", dir.c_str(), a, b);
} else {
}
char tfn[1024];
- int err = 0;
int fd;
if (append) {
fd = ::open(fn, O_WRONLY|O_CREAT|O_APPEND, 0600);
// make sure dir exists
char dfn[1024];
snprintf(dfn, sizeof(dfn), "%s/%s", dir.c_str(), a);
- ::mkdir(dfn, 0755);
+ int r = ::mkdir(dfn, 0755);
+ if (r < 0) {
+ int err = -errno;
+ derr << __func__ << " failed to create dir " << dfn << ": "
+ << cpp_strerror(err) << dendl;
+ return err;
+ }
for (map<version_t,bufferlist>::iterator p = start; p != end; ++p) {
char tfn[1024], fn[1024];