Whamcloud - gitweb
LU-2164 utils: mkfs.lustre segfaults if no "/" in dataset name
authorNed Bass <bass6@llnl.gov>
Wed, 7 Nov 2012 20:46:13 +0000 (12:46 -0800)
committerOleg Drokin <green@whamcloud.com>
Tue, 8 Jan 2013 06:17:12 +0000 (01:17 -0500)
mkfs.lustre incorrectly assumes that the libzfs function
zfs_name_valid() disallows filesystem names without a "/", and so uses
the result of strrchr(pool, '/') without a NULL check.  In fact
dataset names without a / are permitted, as in the case of commands
like

   zfs get all tank

where a pool tank is treated like a dataset.  The leads to a segfault
if mkfs.lustre is given a dataset name without a /.  Since lustre
datasets are always created as children of a pool, add a separate
check for a missing slash and print an error if it's missing.

Signed-off-by: Ned Bass <bass6@llnl.gov>
Change-Id: Ic7bede9ca19d646f64d2f166f189fa6822a70fe3
Reviewed-on: http://review.whamcloud.com/4490
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>

No differences found