diff options
Diffstat (limited to 'xlators/mgmt')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 2 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-store.h | 3 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volgen.c | 19 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volgen.h | 4 |
4 files changed, 28 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index cb8acbeb798..20a57660d0f 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -1917,6 +1917,8 @@ glusterd_op_remove_brick (gd1_mgmt_stage_op_req *req) mybrick++; } + glusterd_delete_volfile (volinfo, brickinfo); + glusterd_store_delete_brick (volinfo, brickinfo); glusterd_brickinfo_delete (brickinfo); volinfo->brick_count--; diff --git a/xlators/mgmt/glusterd/src/glusterd-store.h b/xlators/mgmt/glusterd/src/glusterd-store.h index 10fb4a3af01..29caa899f0a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-store.h +++ b/xlators/mgmt/glusterd/src/glusterd-store.h @@ -100,5 +100,8 @@ int32_t glusterd_store_delete_peerinfo (glusterd_peerinfo_t *peerinfo); int32_t +glusterd_store_delete_brick (glusterd_volinfo_t *volinfo, + glusterd_brickinfo_t *brickinfo); +int32_t glusterd_restore (); #endif diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index 4a8bc6d78a8..b8f2cb99ac1 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -1688,3 +1688,22 @@ glusterd_create_volfiles (glusterd_volinfo_t *volinfo) out: return ret; } + +int +glusterd_delete_volfile (glusterd_volinfo_t *volinfo, + glusterd_brickinfo_t *brickinfo) +{ + char *filename = NULL; + + GF_ASSERT (volinfo); + GF_ASSERT (brickinfo); + + filename = get_brick_filename (volinfo, brickinfo); + + if (filename) + unlink (filename); + + if (filename) + GF_FREE (filename); + return 0; +} diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.h b/xlators/mgmt/glusterd/src/glusterd-volgen.h index 24823d59828..0ec8cc7691d 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.h +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.h @@ -123,6 +123,10 @@ int glusterd_create_volfiles (glusterd_volinfo_t *volinfo); +int +glusterd_delete_volfile (glusterd_volinfo_t *volinfo, + glusterd_brickinfo_t *brickinfo); + int32_t glusterd_default_xlator_options (glusterd_volinfo_t *volinfo); |