Browse Source

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>
Alex Elder 13 years ago
parent
commit
60571c7d55
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/block/rbd.c

+ 2 - 2
drivers/block/rbd.c

@@ -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;