Lines 124-130
Link Here
|
124 |
if (!(vg = dm_hash_lookup(s->lock.vg, id))) { |
124 |
if (!(vg = dm_hash_lookup(s->lock.vg, id))) { |
125 |
if (!(vg = malloc(sizeof(pthread_mutex_t))) || |
125 |
if (!(vg = malloc(sizeof(pthread_mutex_t))) || |
126 |
pthread_mutexattr_init(&rec) || |
126 |
pthread_mutexattr_init(&rec) || |
127 |
pthread_mutexattr_settype(&rec, PTHREAD_MUTEX_RECURSIVE_NP) || |
127 |
pthread_mutexattr_settype(&rec, PTHREAD_MUTEX_RECURSIVE) || |
128 |
pthread_mutex_init(vg, &rec)) |
128 |
pthread_mutex_init(vg, &rec)) |
129 |
goto bad; |
129 |
goto bad; |
130 |
if (!dm_hash_insert(s->lock.vg, id, vg)) { |
130 |
if (!dm_hash_insert(s->lock.vg, id, vg)) { |
Lines 1152-1158
Link Here
|
1152 |
ls->log = s->log; |
1152 |
ls->log = s->log; |
1153 |
|
1153 |
|
1154 |
pthread_mutexattr_init(&rec); |
1154 |
pthread_mutexattr_init(&rec); |
1155 |
pthread_mutexattr_settype(&rec, PTHREAD_MUTEX_RECURSIVE_NP); |
1155 |
pthread_mutexattr_settype(&rec, PTHREAD_MUTEX_RECURSIVE); |
1156 |
pthread_mutex_init(&ls->lock.pvid_to_pvmeta, &rec); |
1156 |
pthread_mutex_init(&ls->lock.pvid_to_pvmeta, &rec); |
1157 |
pthread_mutex_init(&ls->lock.vgid_to_metadata, &rec); |
1157 |
pthread_mutex_init(&ls->lock.vgid_to_metadata, &rec); |
1158 |
pthread_mutex_init(&ls->lock.pvid_to_vgid, NULL); |
1158 |
pthread_mutex_init(&ls->lock.pvid_to_vgid, NULL); |