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>
This commit is contained in:
Alex Elder 2012-02-02 08:13:30 -06:00
parent d720bcb0a8
commit 60571c7d55

View file

@ -2234,11 +2234,11 @@ static ssize_t rbd_add(struct bus_type *bus,
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;