aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Brown <neilb@notabene.brown>2008-06-28 08:31:27 +1000
committerNeil Brown <neilb@notabene.brown>2008-06-28 08:31:27 +1000
commit1a0fd497733bd029a7d5f2e5c69b1dff715b7792 (patch)
tree30f7d07f1ae8cdbebc757d3dfb3fe81e0406e2b5
parentf48ed538386cb41559282d989354e8f5d442d71c (diff)
Don't try to make md arrays dirty if that is not meaningful.
Arrays personalities such as 'raid0' and 'linear' have no redundancy, and so marking them as 'clean' or 'dirty' is not meaningful. So always allow write requests without requiring a superblock update. Such arrays types are detected by ->sync_request being NULL. If it is not possible to send a sync request we don't need a 'dirty' flag because all a dirty flag does is trigger some sync_requests. Signed-off-by: Neil Brown <neilb@suse.de>
-rw-r--r--drivers/md/md.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 97852099def..9e3ce432e37 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -5536,6 +5536,8 @@ void md_allow_write(mddev_t *mddev)
return;
if (mddev->ro)
return;
+ if (!mddev->pers->sync_request)
+ return;
spin_lock_irq(&mddev->write_lock);
if (mddev->in_sync) {