ENTRY;
- CDEBUG(D_CONFIG, "connect #%d\n", osd->od_connects);
+ CDEBUG(D_CONFIG, "connect #%d\n", atomic_read(&osd->od_connects));
rc = class_connect(&conn, obd, cluuid);
if (rc)
*exp = class_conn2export(&conn);
- spin_lock(&osd->od_osfs_lock);
- osd->od_connects++;
- spin_unlock(&osd->od_osfs_lock);
+ atomic_inc(&osd->od_connects);
RETURN(0);
}
ENTRY;
/* Only disconnect the underlying layers on the final disconnect. */
- spin_lock(&osd->od_osfs_lock);
- osd->od_connects--;
- if (osd->od_connects == 0)
- release = 1;
- spin_unlock(&osd->od_osfs_lock);
+ release = atomic_dec_and_test(&osd->od_connects);
rc = class_disconnect(exp); /* bz 9811 */
int rc;
ENTRY;
- CDEBUG(D_CONFIG, "connect #%d\n", osd->od_connects);
+ CDEBUG(D_CONFIG, "connect #%d\n", atomic_read(&osd->od_connects));
rc = class_connect(&conn, obd, cluuid);
if (rc)
*exp = class_conn2export(&conn);
- spin_lock(&obd->obd_dev_lock);
- osd->od_connects++;
- spin_unlock(&obd->obd_dev_lock);
+ atomic_inc(&osd->od_connects);
RETURN(0);
}
ENTRY;
/* Only disconnect the underlying layers on the final disconnect. */
- spin_lock(&obd->obd_dev_lock);
- osd->od_connects--;
- if (osd->od_connects == 0)
- release = 1;
- spin_unlock(&obd->obd_dev_lock);
+ release = atomic_dec_and_test(&osd->od_connects);
rc = class_disconnect(exp); /* bz 9811 */