提交 ecb4dc22 编写于 作者: A Alex Elder 提交者: Sage Weil

rbd: make rbd spec names pointer to const

Make the names and image id in an rbd_spec be pointers to constant
data.  This required the use of a local variable to hold the
snapshot name in rbd_add_parse_args() to avoid a warning.
Signed-off-by: NAlex Elder <elder@inktank.com>
Reviewed-by: NJosh Durgin <josh.durgin@inktank.com>
上级 e1d4213f
...@@ -138,13 +138,13 @@ struct rbd_image_header { ...@@ -138,13 +138,13 @@ struct rbd_image_header {
*/ */
struct rbd_spec { struct rbd_spec {
u64 pool_id; u64 pool_id;
char *pool_name; const char *pool_name;
char *image_id; const char *image_id;
char *image_name; const char *image_name;
u64 snap_id; u64 snap_id;
char *snap_name; const char *snap_name;
struct kref kref; struct kref kref;
}; };
...@@ -4375,6 +4375,7 @@ static int rbd_add_parse_args(const char *buf, ...@@ -4375,6 +4375,7 @@ static int rbd_add_parse_args(const char *buf,
size_t len; size_t len;
char *options; char *options;
const char *mon_addrs; const char *mon_addrs;
char *snap_name;
size_t mon_addrs_size; size_t mon_addrs_size;
struct rbd_spec *spec = NULL; struct rbd_spec *spec = NULL;
struct rbd_options *rbd_opts = NULL; struct rbd_options *rbd_opts = NULL;
...@@ -4433,10 +4434,11 @@ static int rbd_add_parse_args(const char *buf, ...@@ -4433,10 +4434,11 @@ static int rbd_add_parse_args(const char *buf,
ret = -ENAMETOOLONG; ret = -ENAMETOOLONG;
goto out_err; goto out_err;
} }
spec->snap_name = kmemdup(buf, len + 1, GFP_KERNEL); snap_name = kmemdup(buf, len + 1, GFP_KERNEL);
if (!spec->snap_name) if (!snap_name)
goto out_mem; goto out_mem;
*(spec->snap_name + len) = '\0'; *(snap_name + len) = '\0';
spec->snap_name = snap_name;
/* Initialize all rbd options to the defaults */ /* Initialize all rbd options to the defaults */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册