diff options
-rw-r--r-- | rpc/block_svc_routines.c | 2 | ||||
-rw-r--r-- | rpc/glfs-operations.c | 15 |
2 files changed, 13 insertions, 4 deletions
diff --git a/rpc/block_svc_routines.c b/rpc/block_svc_routines.c index c26b2b3..0a98568 100644 --- a/rpc/block_svc_routines.c +++ b/rpc/block_svc_routines.c @@ -1795,8 +1795,6 @@ block_create_cli_1_svc(blockCreateCli *blk, struct svc_req *rqstp) blk->volume, gbid, blk->size, blk->mpath); if (glusterBlockCreateEntry(glfs, blk, gbid, &errCode, &errMsg)) { - GB_METAUPDATE_OR_GOTO(lock, glfs, blk->block_name, blk->volume, - errCode, errMsg, exist, "ENTRYCREATE: FAIL\n"); LOG("mgmt", GB_LOG_ERROR, "%s volume: %s host: %s", FAILED_CREATING_FILE, blk->volume, blk->block_hosts); goto exist; diff --git a/rpc/glfs-operations.c b/rpc/glfs-operations.c index db02620..0509f7f 100644 --- a/rpc/glfs-operations.c +++ b/rpc/glfs-operations.c @@ -91,6 +91,7 @@ glusterBlockCreateEntry(struct glfs *glfs, blockCreateCli *blk, char *gbid, int *errCode, char **errMsg) { struct glfs_fd *tgfd; + char *tmp; int ret; ret = glfs_mkdir (glfs, GB_STOREDIR, 0); @@ -162,9 +163,19 @@ unlink: out: if (ret) { - GB_ASPRINTF (errMsg, "Not able to create metadata for %s/%s[%s]", blk->volume, - blk->block_name, strerror(*errCode)); + GB_ASPRINTF (errMsg, "Not able to create storage for %s/%s [%s]", + blk->volume, blk->block_name, strerror(*errCode)); + + GB_ASPRINTF(&tmp, "%s/%s", GB_METADIR, blk->block_name); + + if (glfs_unlink(glfs, tmp) && errno != ENOENT) { + LOG("gfapi", GB_LOG_ERROR, + "glfs_unlink(%s) on volume %s for block %s failed[%s]", + tmp, blk->volume, blk->block_name, strerror(errno)); + } + GB_FREE(tmp); } + return ret; } |