summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorNeil Brown <neilb@notabene.brown>2008-06-27 22:31:27 (GMT)
committerNeil Brown <neilb@notabene.brown>2008-06-27 22:31:27 (GMT)
commit1a0fd497733bd029a7d5f2e5c69b1dff715b7792 (patch)
tree30f7d07f1ae8cdbebc757d3dfb3fe81e0406e2b5 /drivers/md
parentf48ed538386cb41559282d989354e8f5d442d71c (diff)
downloadlinux-fsl-qoriq-1a0fd497733bd029a7d5f2e5c69b1dff715b7792.tar.xz
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>
Diffstat (limited to 'drivers/md')
-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 9785209..9e3ce43 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) {