|
@@ -50,14 +50,14 @@
|
|
|
|
|
|
struct idr_layer {
|
|
|
unsigned long bitmap; /* A zero bit means "space here" */
|
|
|
- struct idr_layer *ary[1<<IDR_BITS];
|
|
|
+ struct idr_layer __rcu *ary[1<<IDR_BITS];
|
|
|
int count; /* When zero, we can release it */
|
|
|
int layer; /* distance from leaf */
|
|
|
struct rcu_head rcu_head;
|
|
|
};
|
|
|
|
|
|
struct idr {
|
|
|
- struct idr_layer *top;
|
|
|
+ struct idr_layer __rcu *top;
|
|
|
struct idr_layer *id_free;
|
|
|
int layers; /* only valid without concurrent changes */
|
|
|
int id_free_cnt;
|