mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-20 02:34:23 +08:00
a5655dac75
We intentionally do not serialize /proc/drbd access with internal state changes or statistic updates. Because of that, cat /proc/drbd may race with resync just being finished, still see the sync state, and find information about number of blocks still to go, but then find the total number of blocks within this resync has just been reset to 0 when accessing it. This now produces bogus numbers in the resync speed estimates. Fix by accessing all relevant data only once, and fixing it up if "still to go" happens to be more than "total". Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com> |
||
---|---|---|
.. | ||
drbd_actlog.c | ||
drbd_bitmap.c | ||
drbd_int.h | ||
drbd_interval.c | ||
drbd_interval.h | ||
drbd_main.c | ||
drbd_nl.c | ||
drbd_nla.c | ||
drbd_nla.h | ||
drbd_proc.c | ||
drbd_protocol.h | ||
drbd_receiver.c | ||
drbd_req.c | ||
drbd_req.h | ||
drbd_state.c | ||
drbd_state.h | ||
drbd_strings.c | ||
drbd_strings.h | ||
drbd_vli.h | ||
drbd_worker.c | ||
Kconfig | ||
Makefile |