Whamcloud - gitweb
LU-6207 osd: add osd_ost_fini in osd_obj_map_init 49/13649/4
authorSergey Cheremencev <sergey.cheremencev@seagate.com>
Wed, 27 May 2015 18:20:46 +0000 (11:20 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 8 Jul 2015 17:06:22 +0000 (17:06 +0000)
In case of ENOSPC in osd_mdt_init->simple_mkdir("REMOTE_PARENT_DIR")
missed dput(for "O") causes kernel panic with msg:
BUG: Dentry ffff88005d6b3e40{i=b2,n=O} still in use (1)

Change-Id: Ibd5391e781e19efe48e9a9700ee4565b46c2f0b5
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Xyratex-bug-id: MRP-2059
Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/4431
Tested-by: Jenkins
Reviewed-by: Alexander Zarochentsev <alexander_zarochentsev@xyratex.com>
Reviewed-by: Rahul Deshmukh <rahul_deshmukh@xyratex.com>
Tested-by: Elena Gryaznova <elena.gryaznova@seagate.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Reviewed-on: http://review.whamcloud.com/13649
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
lustre/osd-ldiskfs/osd_compat.c

index da016a3..bf317d0 100644 (file)
@@ -477,6 +477,8 @@ int osd_obj_map_init(const struct lu_env *env, struct osd_device *dev)
 
        /* prepare structures for MDS */
        rc = osd_mdt_init(env, dev);
 
        /* prepare structures for MDS */
        rc = osd_mdt_init(env, dev);
+       if (rc)
+               osd_ost_fini(dev);
 
         RETURN(rc);
 }
 
         RETURN(rc);
 }