[sheepdog] [PATCH 2/2] sheep: add static declaration to internal function

Saeki Masaki saeki.masaki at po.ntts.co.jp
Wed Feb 25 07:27:26 CET 2015


Future, we want to make an extension of the backend store using --store option.
For backend store expansion, internal function must be concealed,
so add a static declaration.

in order to adapt this modify, change the interface of md_exist().

Signed-off-by: Masaki Saeki <saeki.masaki at po.ntts.co.jp>
---
 sheep/md.c          |    5 +----
 sheep/plain_store.c |    8 ++++++--
 sheep/sheep_priv.h  |    3 +--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/sheep/md.c b/sheep/md.c
index 15687b2..4f0cd49 100644
--- a/sheep/md.c
+++ b/sheep/md.c
@@ -706,11 +706,8 @@ static int scan_wd(uint64_t oid, uint32_t epoch, uint8_t ec_index)
 	return ret;
 }
 
-bool md_exist(uint64_t oid, uint8_t ec_index)
+bool md_exist(uint64_t oid, uint8_t ec_index, char *path)
 {
-	char path[PATH_MAX];
-
-	get_store_path(oid, ec_index, path);
 	if (md_access(path))
 		return true;
 	/*
diff --git a/sheep/plain_store.c b/sheep/plain_store.c
index fef01ec..9614afa 100644
--- a/sheep/plain_store.c
+++ b/sheep/plain_store.c
@@ -44,7 +44,7 @@ static int prepare_iocb(uint64_t oid, const struct siocb *iocb, bool create)
 	return flags;
 }
 
-int get_store_path(uint64_t oid, uint8_t ec_index, char *path)
+static int get_store_path(uint64_t oid, uint8_t ec_index, char *path)
 {
 	if (is_erasure_oid(oid)) {
 		if (unlikely(ec_index >= SD_MAX_COPIES))
@@ -82,7 +82,11 @@ static int get_store_stale_path(uint64_t oid, uint32_t epoch, uint8_t ec_index,
  */
 bool default_exist(uint64_t oid, uint8_t ec_index)
 {
-	return md_exist(oid, ec_index);
+	char path[PATH_MAX];
+
+	get_store_path(oid, ec_index, path);
+
+	return md_exist(oid, ec_index, path);
 }
 
 static int err_to_sderr(const char *path, uint64_t oid, int err)
diff --git a/sheep/sheep_priv.h b/sheep/sheep_priv.h
index f102fc7..85af7a0 100644
--- a/sheep/sheep_priv.h
+++ b/sheep/sheep_priv.h
@@ -278,7 +278,6 @@ int for_each_object_in_stale(int (*func)(uint64_t oid, const char *path,
 			     void *arg);
 int for_each_obj_path(int (*func)(const char *path));
 size_t get_store_objsize(uint64_t oid);
-int get_store_path(uint64_t oid, uint8_t ec_index, char *path);
 
 extern struct list_head store_drivers;
 #define add_store_driver(driver)				\
@@ -572,7 +571,7 @@ bool md_add_disk(const char *path, bool);
 uint64_t md_init_space(void);
 const char *md_get_object_dir(uint64_t oid);
 int md_handle_eio(const char *);
-bool md_exist(uint64_t oid, uint8_t ec_index);
+bool md_exist(uint64_t oid, uint8_t ec_index, char *path);
 int md_get_stale_path(uint64_t oid, uint32_t epoch, uint8_t ec_index, char *);
 uint32_t md_get_info(struct sd_md_info *info);
 int md_plug_disks(char *disks);
-- 
1.7.1






More information about the sheepdog mailing list