*/
void lod_getref(struct lod_device *lod)
{
- cfs_down_read(&lod->lod_rw_sem);
- cfs_mutex_lock(&lod->lod_mutex);
+ down_read(&lod->lod_rw_sem);
+ mutex_lock(&lod->lod_mutex);
lod->lod_refcount++;
- cfs_mutex_unlock(&lod->lod_mutex);
+ mutex_unlock(&lod->lod_mutex);
}
/*
*/
void lod_putref(struct lod_device *lod)
{
- cfs_mutex_lock(&lod->lod_mutex);
+ mutex_lock(&lod->lod_mutex);
lod->lod_refcount--;
if (lod->lod_refcount == 0 && lod->lod_death_row) {
struct lod_ost_desc *ost_desc, *tmp;
lod->lod_desc.ld_active_tgt_count--;
lod->lod_death_row--;
}
- cfs_mutex_unlock(&lod->lod_mutex);
- cfs_up_read(&lod->lod_rw_sem);
+ mutex_unlock(&lod->lod_mutex);
+ up_read(&lod->lod_rw_sem);
cfs_list_for_each_entry_safe(ost_desc, tmp, &kill, ltd_kill) {
int rc;
OBD_FREE_PTR(ost_desc);
}
} else {
- cfs_mutex_unlock(&lod->lod_mutex);
- cfs_up_read(&lod->lod_rw_sem);
+ mutex_unlock(&lod->lod_mutex);
+ up_read(&lod->lod_rw_sem);
}
}
/* grab write reference on the lod. Relocating the array requires
* exclusive access */
- cfs_down_write(&lod->lod_rw_sem);
+ down_write(&lod->lod_rw_sem);
if (newsize <= lod->lod_osts_size)
/* someone else has already resize the array */
EXIT;
out:
- cfs_up_write(&lod->lod_rw_sem);
+ up_write(&lod->lod_rw_sem);
return rc;
}
lod_getref(lod);
}
- cfs_mutex_lock(&lod->lod_mutex);
+ mutex_lock(&lod->lod_mutex);
if (cfs_bitmap_check(lod->lod_ost_bitmap, index)) {
CERROR("%s: device %d is registered already\n", obd->obd_name,
index);
OST_TGT(lod, index) = ost_desc;
cfs_bitmap_set(lod->lod_ost_bitmap, index);
lod->lod_ostnr++;
- cfs_mutex_unlock(&lod->lod_mutex);
+ mutex_unlock(&lod->lod_mutex);
lod_putref(lod);
if (lod->lod_recovery_completed)
out_pool:
lod_ost_pool_remove(&lod->lod_pool_info, index);
out_mutex:
- cfs_mutex_unlock(&lod->lod_mutex);
+ mutex_unlock(&lod->lod_mutex);
lod_putref(lod);
out_desc:
OBD_FREE_PTR(ost_desc);
obd_str2uuid(&uuid, osp);
lod_getref(lod);
- cfs_mutex_lock(&lod->lod_mutex);
+ mutex_lock(&lod->lod_mutex);
/* check that the index is allocated in the bitmap */
if (!cfs_bitmap_check(lod->lod_ost_bitmap, idx) || !OST_TGT(lod,idx)) {
CERROR("%s: device %d is not set up\n", obd->obd_name, idx);
__lod_del_device(lod, idx);
EXIT;
out:
- cfs_mutex_unlock(&lod->lod_mutex);
+ mutex_unlock(&lod->lod_mutex);
lod_putref(lod);
return(rc);
}
objs[i].l_object_id = cpu_to_le64(info->lti_ostid.oi_id);
objs[i].l_object_seq = cpu_to_le64(info->lti_ostid.oi_seq);
- objs[i].l_ost_gen = cpu_to_le32(1);
+ objs[i].l_ost_gen = cpu_to_le32(0);
objs[i].l_ost_idx = cpu_to_le32(fid_idif_ost_idx(fid));
}
int lod_pools_init(struct lod_device *lod, struct lustre_cfg *lcfg)
{
- struct lprocfs_static_vars lvars = { 0 };
struct obd_device *obd;
struct lov_desc *desc;
int rc;
/* Set up allocation policy (QoS and RR) */
CFS_INIT_LIST_HEAD(&lod->lod_qos.lq_oss_list);
- cfs_init_rwsem(&lod->lod_qos.lq_rw_sem);
+ init_rwsem(&lod->lod_qos.lq_rw_sem);
lod->lod_qos.lq_dirty = 1;
lod->lod_qos.lq_rr.lqr_dirty = 1;
lod->lod_qos.lq_reset = 1;
lod->lod_death_row = 0;
lod->lod_refcount = 0;
- lprocfs_lod_init_vars(&lvars);
- lprocfs_obd_setup(obd, lvars.obd_vars);
-
-#ifdef LPROCFS
- rc = lprocfs_seq_create(obd->obd_proc_entry, "target_obd",
- 0444, &lod_proc_target_fops, obd);
- if (rc) {
- CWARN("%s: Error adding the target_obd file %d\n",
- obd->obd_name, rc);
- GOTO(out_lproc, rc);
- }
- lod->lod_pool_proc_entry = lprocfs_register("pools",
- obd->obd_proc_entry,
- NULL, NULL);
- if (IS_ERR(lod->lod_pool_proc_entry)) {
- int ret = PTR_ERR(lod->lod_pool_proc_entry);
- lod->lod_pool_proc_entry = NULL;
- CWARN("%s: Failed to create pool proc file %d\n",
- obd->obd_name, ret);
- rc = lod_pools_fini(lod);
- RETURN(ret);
- }
-#endif
-
RETURN(0);
-out_lproc:
- lprocfs_obd_cleanup(obd);
- lod_ost_pool_free(&lod->lod_qos.lq_rr.lqr_pool);
out_pool_info:
lod_ost_pool_free(&lod->lod_pool_info);
out_hash:
if (lod->lod_osts_size > 0) {
int idx;
lod_getref(lod);
- cfs_mutex_lock(&lod->lod_mutex);
+ mutex_lock(&lod->lod_mutex);
cfs_foreach_bit(lod->lod_ost_bitmap, idx)
__lod_del_device(lod, idx);
- cfs_mutex_unlock(&lod->lod_mutex);
+ mutex_unlock(&lod->lod_mutex);
lod_putref(lod);
CFS_FREE_BITMAP(lod->lod_ost_bitmap);
for (idx = 0; idx < OST_PTRS; idx++) {
cfs_hash_putref(lod->lod_pools_hash_body);
lod_ost_pool_free(&(lod->lod_qos.lq_rr.lqr_pool));
lod_ost_pool_free(&lod->lod_pool_info);
-
- /* clear pools parent proc entry only after all pools are killed */
- if (lod->lod_pool_proc_entry) {
- lprocfs_remove(&lod->lod_pool_proc_entry);
- lod->lod_pool_proc_entry = NULL;
- }
-
- lprocfs_obd_cleanup(obd);
-
OBD_FREE_PTR(lod->lod_qos.lq_statfs_data);
RETURN(0);
}