Revision 48cae885d5a896030588978f503c73c5ed5e62b1 authored by Stefan Weinhuber on 11 February 2009, 09:37:31 UTC, committed by Martin Schwidefsky on 11 February 2009, 09:37:40 UTC
In dasd_device_set_timer and dasd_block_set_timer we interpret the
return value of mod_timer in a wrong way. If the timer expires in
the small window between our check of timer_pending and the call to
mod_timer, then the timer will be set, mod_timer returns zero and
we will call add_timer for a timer that is already pending.
As del_timer and mod_timer do all the necessary checking themselves,
we can simplify our code and remove the race a the same time.

Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
1 parent ca0b4b7
History
File Mode Size
ChangeLog -rw-r--r-- 14.0 KB
Kconfig -rw-r--r-- 948 bytes
Makefile -rw-r--r-- 164 bytes
TODO -rw-r--r-- 385 bytes
befs.h -rw-r--r-- 3.2 KB
befs_fs_types.h -rw-r--r-- 4.9 KB
btree.c -rw-r--r-- 21.9 KB
btree.h -rw-r--r-- 300 bytes
datastream.c -rw-r--r-- 15.6 KB
datastream.h -rw-r--r-- 514 bytes
debug.c -rw-r--r-- 7.5 KB
endian.h -rw-r--r-- 3.1 KB
inode.c -rw-r--r-- 1.1 KB
inode.h -rw-r--r-- 123 bytes
io.c -rw-r--r-- 1.8 KB
io.h -rw-r--r-- 190 bytes
linuxvfs.c -rw-r--r-- 23.9 KB
super.c -rw-r--r-- 3.0 KB
super.h -rw-r--r-- 134 bytes

back to top