1. sheep/ops.c: remove snapshot operations 2. sheep/store.c: check_path_len() don't need to consider farm 3. sheep/sheep_priv.h: remove snapshot, restore and get_snap_file from struct store_driver Signed-off-by: Kai Zhang <kyle at zelin.io> --- sheep/ops.c | 62 ---------------------------------------------------- sheep/sheep_priv.h | 3 -- sheep/store.c | 6 +---- 3 files changed, 1 insertions(+), 70 deletions(-) diff --git a/sheep/ops.c b/sheep/ops.c index 9399fd8..ed0d915 100644 --- a/sheep/ops.c +++ b/sheep/ops.c @@ -591,20 +591,6 @@ err: panic("failed in force recovery"); } -static int cluster_snapshot(const struct sd_req *req, struct sd_rsp *rsp, - void *data) -{ - int ret; - struct siocb iocb = { 0 }; - - if (sd_store->snapshot) - ret = sd_store->snapshot(&iocb); - else - ret = SD_RES_NO_SUPPORT; - - return ret; -} - static int cluster_cleanup(const struct sd_req *req, struct sd_rsp *rsp, void *data) { @@ -772,33 +758,6 @@ static int local_get_hash(struct request *request) rsp->hash.digest); } -static int cluster_restore(const struct sd_req *req, struct sd_rsp *rsp, - void *data) -{ - int ret; - struct siocb iocb = { .epoch = req->obj.tgt_epoch }; - - if (sd_store->restore) - ret = sd_store->restore(&iocb); - else - ret = SD_RES_NO_SUPPORT; - return ret; -} - -static int local_get_snap_file(struct request *req) -{ - int ret; - struct siocb iocb = { .buf = req->data }; - - if (sd_store->get_snap_file) { - ret = sd_store->get_snap_file(&iocb); - req->rp.data_length = iocb.length; - } else - ret = SD_RES_NO_SUPPORT; - - return ret; -} - /* Return SD_RES_INVALID_PARMS to ask client not to send flush req again */ static int local_flush_vdi(struct request *req) { @@ -1062,20 +1021,6 @@ static struct sd_op_template sd_ops[] = { .process_main = cluster_force_recover_main, }, - [SD_OP_SNAPSHOT] = { - .name = "SNAPSHOT", - .type = SD_OP_TYPE_CLUSTER, - .force = true, - .process_main = cluster_snapshot, - }, - - [SD_OP_RESTORE] = { - .name = "RESTORE", - .type = SD_OP_TYPE_CLUSTER, - .force = true, - .process_main = cluster_restore, - }, - [SD_OP_CLEANUP] = { .name = "CLEANUP", .type = SD_OP_TYPE_CLUSTER, @@ -1188,13 +1133,6 @@ static struct sd_op_template sd_ops[] = { .process_work = local_get_epoch, }, - [SD_OP_GET_SNAP_FILE] = { - .name = "GET_SNAP_FILE", - .type = SD_OP_TYPE_LOCAL, - .force = true, - .process_work = local_get_snap_file, - }, - [SD_OP_FLUSH_VDI] = { .name = "FLUSH_VDI", .type = SD_OP_TYPE_LOCAL, diff --git a/sheep/sheep_priv.h b/sheep/sheep_priv.h index d086aef..ae5249d 100644 --- a/sheep/sheep_priv.h +++ b/sheep/sheep_priv.h @@ -160,10 +160,7 @@ struct store_driver { int (*update_epoch)(uint32_t epoch); int (*purge_obj)(void); /* Operations for snapshot */ - int (*snapshot)(const struct siocb *); int (*cleanup)(void); - int (*restore)(const struct siocb *); - int (*get_snap_file)(struct siocb *); }; int default_init(void); diff --git a/sheep/store.c b/sheep/store.c index 28e2ab7..226dd58 100644 --- a/sheep/store.c +++ b/sheep/store.c @@ -238,14 +238,10 @@ int init_base_path(const char *d) return 0; } -/* - * farm needs extra HEX_LEN + 3 chars to store snapshot objects. - * HEX_LEN + 3 = '/' + hex(2) + '/' + hex(38) + '\0' - */ static inline int check_path_len(const char *path) { int len = strlen(path); - if (len + HEX_LEN + 3 > PATH_MAX) { + if (len > PATH_MAX) { sd_eprintf("insanely long object directory %s", path); return -1; } -- 1.7.1 |