rbd: reduce memory used for rbd_dev fields
The length of the string containing the monitor address
specification(s) will never exceed the length of the string passed
in to rbd_add(). The same holds true for the ceph + rbd options
string. So reduce the amount of memory allocated for these to
that length rather than the maximum (1024 bytes).
Signed-off-by: Alex Elder <elder@dreamhost.com>
Signed-off-by: Sage Weil <sage@newdream.net>
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 3e6f300..606d59a 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -2234,11 +2234,11 @@
if (!try_module_get(THIS_MODULE))
return -ENODEV;
- mon_dev_name = kmalloc(RBD_MAX_OPT_LEN, GFP_KERNEL);
+ mon_dev_name = kmalloc(count, GFP_KERNEL);
if (!mon_dev_name)
goto err_out_mod;
- options = kmalloc(RBD_MAX_OPT_LEN, GFP_KERNEL);
+ options = kmalloc(count, GFP_KERNEL);
if (!options)
goto err_mon_dev;