diff options
author | Sebastian Riemer <sebastian.riemer@profitbricks.com> | 2013-02-21 06:28:09 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-03-20 23:58:52 +0400 |
commit | f18f43cb20c3236df02472f84f5183e01c457507 (patch) | |
tree | 319509956242335755b8e7b91f079c9ad4fa7d74 /net/netlabel | |
parent | 1fc6d3ad342542afb92cca52bc5d8569f29576e0 (diff) | |
download | linux-f18f43cb20c3236df02472f84f5183e01c457507.tar.xz |
md: protect against crash upon fsync on ro array
commit bbfa57c0f2243a7c31fd248d22e9861a2802cad5 upstream.
If an fsync occurs on a read-only array, we need to send a
completion for the IO and may not increment the active IO count.
Otherwise, we hit a bug trace and can't stop the MD array anymore.
By advice of Christoph Hellwig we return success upon a flush
request but we return -EROFS for other writes.
We detect flush requests by checking if the bio has zero sectors.
Signed-off-by: Sebastian Riemer <sebastian.riemer@profitbricks.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: NeilBrown <neilb@suse.de>
Reported-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/netlabel')
0 files changed, 0 insertions, 0 deletions