Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-8147 osd-zfs: fix osd_mount error path
[fs/lustre-release.git]
/
lustre
/
osd-zfs
/
osd_handler.c
diff --git
a/lustre/osd-zfs/osd_handler.c
b/lustre/osd-zfs/osd_handler.c
index
ff4bc58
..
334310d
100644
(file)
--- a/
lustre/osd-zfs/osd_handler.c
+++ b/
lustre/osd-zfs/osd_handler.c
@@
-1089,13
+1089,19
@@
static struct lu_device *osd_device_alloc(const struct lu_env *env,
struct lu_device_type *type,
struct lustre_cfg *cfg)
{
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);
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);
rc = dt_device_init(&dev->od_dt_dev, type);
if (rc == 0) {
rc = osd_device_init0(env, dev, cfg);