When a specified OST is not in the requested pool, improve the error
message printed to the user. Currently it only prints:
$ lfs setstripe -p audio -i 1 /myth/foo
error: setstripe: create file '/myth/foo' failed
but this doesn't indicate why it failed. Add in more information:
error: setstripe: create file '/myth/foo' failed: OST not in pool?
error: setstripe: create file '/myth/foo' failed: permission denied
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I409739b1e3dad633f0b0a4c4f94a746c0b6485bd
Reviewed-on: http://review.whamcloud.com/18965
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Frank Zago <fzago@cray.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
/* Save the first error encountered. */
if (result2 == 0)
result2 = result;
/* Save the first error encountered. */
if (result2 == 0)
result2 = result;
- fprintf(stderr,
- "error: %s: %s file '%s' failed\n",
+ fprintf(stderr, "error: %s: %s file '%s' failed: %s\n",
argv[0], migrate_mode ? "migrate" : "create",
argv[0], migrate_mode ? "migrate" : "create",
+ fname,
+ pool_name_arg != NULL && result == EINVAL ?
+ "OST not in pool?" : strerror(result));