.. | .. |
---|
188 | 188 | atomic_read(&shared->in_flight[WRITE]); |
---|
189 | 189 | } |
---|
190 | 190 | |
---|
191 | | -void dm_stats_init(struct dm_stats *stats) |
---|
| 191 | +int dm_stats_init(struct dm_stats *stats) |
---|
192 | 192 | { |
---|
193 | 193 | int cpu; |
---|
194 | 194 | struct dm_stats_last_position *last; |
---|
.. | .. |
---|
196 | 196 | mutex_init(&stats->mutex); |
---|
197 | 197 | INIT_LIST_HEAD(&stats->list); |
---|
198 | 198 | stats->last = alloc_percpu(struct dm_stats_last_position); |
---|
| 199 | + if (!stats->last) |
---|
| 200 | + return -ENOMEM; |
---|
| 201 | + |
---|
199 | 202 | for_each_possible_cpu(cpu) { |
---|
200 | 203 | last = per_cpu_ptr(stats->last, cpu); |
---|
201 | 204 | last->last_sector = (sector_t)ULLONG_MAX; |
---|
202 | 205 | last->last_rw = UINT_MAX; |
---|
203 | 206 | } |
---|
| 207 | + |
---|
| 208 | + return 0; |
---|
204 | 209 | } |
---|
205 | 210 | |
---|
206 | 211 | void dm_stats_cleanup(struct dm_stats *stats) |
---|