in our (soon to come) RAID1 and RAID[45] code we have the following
problem: The current ll_rw_block() logic ensures that a dirty buffer is
marked clean and the IO request is put into the global block IO request
queue always atomically.
Is it a problem if a process sleeps after it has marked a buffer clean,
but hasnt issued the IO operation into the global queue yet? As far as i
could check, bdflush doesnt deal with such buffers, it's on the BUF_LOCKED
list. Could other races be possible?
thanks in advance,
-- mingo