block: fix bug with inserting flush requests as sort/merge
authorJens Axboe <jaxboe@fusionio.com>
Fri, 25 Mar 2011 15:57:52 +0000 (16:57 +0100)
committerJens Axboe <jaxboe@fusionio.com>
Fri, 25 Mar 2011 16:04:08 +0000 (17:04 +0100)
commit401a18e92ce32cd0ddfa5738899ca2b8114f2bbf
treef8c7dbb61a7a90ae43065075b640512899fafd28
parent6c5103890057b1bb781b26b7aae38d33e4c517d8
block: fix bug with inserting flush requests as sort/merge

With the introduction of the on-stack plugging, we would assume
that any request being inserted was a normal file system request.
As flush/fua requires a special insert mode, this caused problems.

Fix this up by checking for this in flush_plug_list() and use
the appropriate insert mechanism.

Big thanks goes to Markus Tripplesdorf for tirelessly testing
patches, and to Sergey Senozhatsky for helping find the real
issue.

Reported-by: Markus Tripplesdorf <markus@trippelsdorf.de>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
block/blk-core.c