X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-statedump-impl.c;h=a33759d43d34f1b2362c20b031e405a021e3ded7;hb=ad5e2bb2bca506a7640c90cf0a4d40873ef618bf;hp=22d9cc61e0a56dc1533cb440511c377bfef12014;hpb=69a619a93c6a8082ac198debaf5ea44621290211;p=lttng-modules.git diff --git a/lttng-statedump-impl.c b/lttng-statedump-impl.c index 22d9cc61..a33759d4 100644 --- a/lttng-statedump-impl.c +++ b/lttng-statedump-impl.c @@ -23,7 +23,6 @@ #include #include #include -#include #include #include #include @@ -32,8 +31,11 @@ #include #include +#include + #include #include +#include #include #include #include @@ -326,7 +328,7 @@ int lttng_enumerate_block_devices(struct lttng_session *session) * suppressed */ if (get_capacity(disk) == 0 || - (disk->flags & GENHD_FL_SUPPRESS_PARTITION_INFO)) + (disk->flags & LTTNG_GENHD_FL_HIDDEN)) continue; ret = lttng_statedump_each_block_device(session, disk); @@ -760,7 +762,7 @@ int do_lttng_statedump(struct lttng_session *session) * is to guarantee that each CPU has been in a state where is was in * syscall mode (i.e. not in a trap, an IRQ or a soft IRQ). */ - get_online_cpus(); + lttng_cpus_read_lock(); atomic_set(&kernel_threads_to_run, num_online_cpus()); for_each_online_cpu(cpu) { INIT_DELAYED_WORK(&cpu_work[cpu], lttng_statedump_work_func); @@ -768,7 +770,7 @@ int do_lttng_statedump(struct lttng_session *session) } /* Wait for all threads to run */ __wait_event(statedump_wq, (atomic_read(&kernel_threads_to_run) == 0)); - put_online_cpus(); + lttng_cpus_read_unlock(); /* Our work is done */ trace_lttng_statedump_end(session); return 0;