struct lu_device_type *type,
struct lustre_cfg *cfg)
{
- struct osd_device *dev;
- int rc;
+ struct osd_device *dev;
+ struct osd_seq_list *osl;
+ int rc;
OBD_ALLOC_PTR(dev);
if (dev == NULL)
return ERR_PTR(-ENOMEM);
+ osl = &dev->od_seq_list;
+ INIT_LIST_HEAD(&osl->osl_seq_list);
+ rwlock_init(&osl->osl_seq_list_lock);
+ sema_init(&osl->osl_seq_init_sem, 1);
+
rc = dt_device_init(&dev->od_dt_dev, type);
if (rc == 0) {
rc = osd_device_init0(env, dev, cfg);
RETURN(0);
}
-static void osd_ost_seq_init(const struct lu_env *env, struct osd_device *osd)
-{
- struct osd_seq_list *osl = &osd->od_seq_list;
-
- INIT_LIST_HEAD(&osl->osl_seq_list);
- rwlock_init(&osl->osl_seq_list_lock);
- sema_init(&osl->osl_seq_init_sem, 1);
-}
-
static void osd_ost_seq_fini(const struct lu_env *env, struct osd_device *osd)
{
struct osd_seq_list *osl = &osd->od_seq_list;
o->od_O_id = sdb;
- osd_ost_seq_init(env, o);
/* Create on-disk indexes to maintain per-UID/GID inode usage.
* Those new indexes are created in the top-level ZAP outside the
* namespace in order not to confuse ZPL which might interpret those