]> git.karo-electronics.de Git - karo-tx-linux.git/commit
dm thin: requeue bios to DM core if no_free_space and in read-only mode
authorMike Snitzer <snitzer@redhat.com>
Thu, 5 Dec 2013 20:47:24 +0000 (15:47 -0500)
committerMike Snitzer <snitzer@redhat.com>
Fri, 20 Dec 2013 23:15:17 +0000 (18:15 -0500)
commitc0e5e2b40e11a068047830c3f5e9df612bc126b3
treef755c5d786876df7f25ea5eadcd4099943e162b8
parent15c2ed0c6a57efea75b2d2699827aeb74979a967
dm thin: requeue bios to DM core if no_free_space and in read-only mode

Now that we switch the pool to read-only mode when the data device runs
out of space it causes active writers to get IO errors once we resume
after resizing the data device.

If no_free_space is set, save bios to the 'retry_on_resume_list' and
requeue them on resume (once the data or metadata device may have been
resized).

With this patch the resize_io test passes again (on slower storage):
 dmtest run --suite thin-provisioning -n /resize_io/

Later patches fix some subtle races associated with the pool mode
transitions done as part of the pool's -ENOSPC handling.  These races
are exposed on fast storage (e.g. PCIe SSD).

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Acked-by: Joe Thornber <ejt@redhat.com>
drivers/md/dm-thin.c