struct osc_creator {
spinlock_t oscc_lock;
- struct list_head oscc_list;
- struct obd_device *oscc_obd;
- obd_id oscc_last_id;//last available pre-created object
- obd_id oscc_next_id;// what object id to give out next
- obd_id oscc_gr;
- int oscc_grow_count;
- int oscc_max_grow_count;
- int oscc_kick_barrier;
- struct osc_created *oscc_osccd;
- struct obdo oscc_oa;
+ struct obd_device *oscc_obd;
int oscc_flags;
- wait_queue_head_t oscc_waitq; /* creating procs wait on this */
+ obd_id oscc_next_id;
+ wait_queue_head_t oscc_waitq;
};
struct ldlm_export_data {
struct list_head led_held_locks; /* protected by namespace lock */
+ spinlock_t led_lock;
};
struct ec_export_data { /* echo client */
/* ^ protects exp_outstanding_replies too */
unsigned long exp_flags;
int exp_failed:1,
- exp_replay_needed:1,
+ exp_req_replay_needed:1,
+ exp_lock_replay_needed:1,
+ exp_connected:1,
exp_libclient:1, /* liblustre client? */
exp_sync:1;
union {