- this BKL collides with jbd a lot. remove it.
int mds_lov_objids_valid;
int mds_lov_nextid_set;
struct file *mds_lov_objid_filp;
+ spinlock_t mds_lov_lock;
unsigned long *mds_client_bitmap;
struct semaphore mds_orphan_recovery_sem;
/*add mds num here for real mds and cache mds create
int i;
ENTRY;
- lock_kernel();
+ spin_lock(&mds->mds_lov_lock);
for (i = 0; i < mds->mds_lov_desc.ld_tgt_count; i++)
if (ids[i] > (mds->mds_lov_objids)[i])
(mds->mds_lov_objids)[i] = ids[i];
- unlock_kernel();
+ spin_unlock(&mds->mds_lov_lock);
EXIT;
}
if (mds->mds_osc_obd)
RETURN(0);
+ spin_lock_init(&mds->mds_lov_lock);
mds->mds_osc_obd = class_name2obd(lov_name);
if (!mds->mds_osc_obd) {
CERROR("MDS cannot locate LOV %s\n",