diff options
author | Mike Snitzer <snitzer@redhat.com> | 2013-08-22 09:56:18 -0400 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2013-09-05 20:46:06 -0400 |
commit | 94563badaf41f9291ff0bad94a443a4319b9e312 (patch) | |
tree | 6c9bf7f6aba642dd4a08035fe93ec683c3fdf5bf /crypto/twofish_common.c | |
parent | f11c1c5693fac339d412b0b59b54693ddcb776ff (diff) | |
download | blackbird-op-linux-94563badaf41f9291ff0bad94a443a4319b9e312.tar.gz blackbird-op-linux-94563badaf41f9291ff0bad94a443a4319b9e312.zip |
dm thin: always return -ENOSPC if no_free_space is set
If pool has 'no_free_space' set it means a previous allocation already
determined the pool has no free space (and failed that allocation with
-ENOSPC). By always returning -ENOSPC if 'no_free_space' is set, we do
not allow the pool to oscillate between allocating blocks and then not.
But a side-effect of this determinism is that if a user wants to be able
to allocate new blocks they'll need to reload the pool's table (to clear
the 'no_free_space' flag). This reload will happen automatically if the
pool's data volume is resized. But if the user takes action to free a
lot of space by deleting snapshot volumes, etc the pool will no longer
allow data allocations to continue without an intervening table reload.
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Acked-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'crypto/twofish_common.c')
0 files changed, 0 insertions, 0 deletions