From d314fb145db976a171d9dd5916078ab465a29de6 Mon Sep 17 00:00:00 2001 From: dzogin Date: Fri, 19 Jun 2009 22:18:08 +0000 Subject: [PATCH] Branch b1_8 b=18624 i=dmitry.zogin i=zhenyu.xu --- lustre/ChangeLog | 7 +++++++ lustre/utils/mkfs_lustre.c | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index f0527b6..e29086e 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -14,6 +14,13 @@ tbd Sun Microsystems, Inc. of Lustre filesystem with 4K stack may cause a stack overflow. For more information, please refer to bugzilla 17630. +Severity : normal +Bugzilla : 18624 +Description: Unable to run several mkfs.lustre on loop devices at the same + time. +Details : mkfs.lustre returns error 256 on the concurrent loop devices + formatting. The solution is to proper handle the error. + Severity : enhancement Bugzilla : 18357 Description: implement async create (obd_async_create) method for osc, to avoid diff --git a/lustre/utils/mkfs_lustre.c b/lustre/utils/mkfs_lustre.c index 9f17c0d..79d2bd1 100644 --- a/lustre/utils/mkfs_lustre.c +++ b/lustre/utils/mkfs_lustre.c @@ -263,6 +263,10 @@ int loop_setup(struct mkfs_opts *mop) snprintf(cmd, cmdsz, "losetup %s %s", l_device, mop->mo_device); ret = run_command(cmd, cmdsz); + if (ret == 256) + /* someone else picked up this loop device + * behind our back */ + continue; if (ret) { fprintf(stderr, "%s: error %d on losetup: %s\n", progname, ret, strerror(ret)); -- 1.8.3.1