Messages in this thread Patch in this message | | | From | Peng Tao <> | Subject | [PATCH-v2 04/17] staging/lustre: don't assert ln_refcount in LNetGetId | Date | Mon, 15 Jul 2013 21:08:02 +0800 |
| |
If LNetNIInit() fails, we'll get zero ln_refcount. So fail LNetGetId() properly instead of asserting.
We can get to it when socklnd fails to scan network interfaces, which is possible if Lustre is builtin.
Signed-off-by: Peng Tao <tao.peng@emc.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> --- drivers/staging/lustre/lnet/lnet/api-ni.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/lustre/lnet/lnet/api-ni.c b/drivers/staging/lustre/lnet/lnet/api-ni.c index e88bee3..250c618 100644 --- a/drivers/staging/lustre/lnet/lnet/api-ni.c +++ b/drivers/staging/lustre/lnet/lnet/api-ni.c @@ -1541,7 +1541,10 @@ LNetGetId(unsigned int index, lnet_process_id_t *id) int rc = -ENOENT; LASSERT(the_lnet.ln_init); - LASSERT(the_lnet.ln_refcount > 0); + + /* LNetNI initilization failed? */ + if (the_lnet.ln_refcount == 0) + return rc; cpt = lnet_net_lock_current(); -- 1.7.9.5
| |