diff options
author | Etienne Dechamps <[email protected]> | 2012-08-01 10:29:59 +0200 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2012-08-07 14:55:31 -0700 |
commit | ee5fd0bb80d68ef095f831784cbb17181b2ba898 (patch) | |
tree | e2437a510eaa09db0af6429e1aa94d2d44b35182 /scripts | |
parent | 9a512dca97fec1afa5068b53621ce1dd7dbef578 (diff) |
Set zvol discard_granularity to the volblocksize.
Currently, zvols have a discard granularity set to 0, which suggests to
the upper layer that discard requests of arbirarily small size and
alignment can be made efficiently.
In practice however, ZFS does not handle unaligned discard requests
efficiently: indeed, it is unable to free a part of a block. It will
write zeros to the specified range instead, which is both useless and
inefficient (see dnode_free_range).
With this patch, zvol block devices expose volblocksize as their discard
granularity, so the upper layer is aware that it's not supposed to send
discard requests smaller than volblocksize.
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #862
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.in | 1 | ||||
-rw-r--r-- | scripts/zpios-profile/Makefile.in | 1 | ||||
-rw-r--r-- | scripts/zpios-test/Makefile.in | 1 | ||||
-rw-r--r-- | scripts/zpool-config/Makefile.in | 1 | ||||
-rw-r--r-- | scripts/zpool-layout/Makefile.in | 1 |
5 files changed, 5 insertions, 0 deletions
diff --git a/scripts/Makefile.in b/scripts/Makefile.in index 3bc46fcbf..73c96feb1 100644 --- a/scripts/Makefile.in +++ b/scripts/Makefile.in @@ -69,6 +69,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-create-umode-t.m4 \ $(top_srcdir)/config/kernel-d-make-root.m4 \ $(top_srcdir)/config/kernel-d-obtain-alias.m4 \ + $(top_srcdir)/config/kernel-discard-granularity.m4 \ $(top_srcdir)/config/kernel-encode-fh-inode.m4 \ $(top_srcdir)/config/kernel-evict-inode.m4 \ $(top_srcdir)/config/kernel-fallocate.m4 \ diff --git a/scripts/zpios-profile/Makefile.in b/scripts/zpios-profile/Makefile.in index c51db4236..2533fa1c7 100644 --- a/scripts/zpios-profile/Makefile.in +++ b/scripts/zpios-profile/Makefile.in @@ -69,6 +69,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-create-umode-t.m4 \ $(top_srcdir)/config/kernel-d-make-root.m4 \ $(top_srcdir)/config/kernel-d-obtain-alias.m4 \ + $(top_srcdir)/config/kernel-discard-granularity.m4 \ $(top_srcdir)/config/kernel-encode-fh-inode.m4 \ $(top_srcdir)/config/kernel-evict-inode.m4 \ $(top_srcdir)/config/kernel-fallocate.m4 \ diff --git a/scripts/zpios-test/Makefile.in b/scripts/zpios-test/Makefile.in index c05e18b9a..cbcf1df07 100644 --- a/scripts/zpios-test/Makefile.in +++ b/scripts/zpios-test/Makefile.in @@ -69,6 +69,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-create-umode-t.m4 \ $(top_srcdir)/config/kernel-d-make-root.m4 \ $(top_srcdir)/config/kernel-d-obtain-alias.m4 \ + $(top_srcdir)/config/kernel-discard-granularity.m4 \ $(top_srcdir)/config/kernel-encode-fh-inode.m4 \ $(top_srcdir)/config/kernel-evict-inode.m4 \ $(top_srcdir)/config/kernel-fallocate.m4 \ diff --git a/scripts/zpool-config/Makefile.in b/scripts/zpool-config/Makefile.in index 17043188e..f1ec2f829 100644 --- a/scripts/zpool-config/Makefile.in +++ b/scripts/zpool-config/Makefile.in @@ -69,6 +69,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-create-umode-t.m4 \ $(top_srcdir)/config/kernel-d-make-root.m4 \ $(top_srcdir)/config/kernel-d-obtain-alias.m4 \ + $(top_srcdir)/config/kernel-discard-granularity.m4 \ $(top_srcdir)/config/kernel-encode-fh-inode.m4 \ $(top_srcdir)/config/kernel-evict-inode.m4 \ $(top_srcdir)/config/kernel-fallocate.m4 \ diff --git a/scripts/zpool-layout/Makefile.in b/scripts/zpool-layout/Makefile.in index 1f82746ab..81e036d63 100644 --- a/scripts/zpool-layout/Makefile.in +++ b/scripts/zpool-layout/Makefile.in @@ -69,6 +69,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-create-umode-t.m4 \ $(top_srcdir)/config/kernel-d-make-root.m4 \ $(top_srcdir)/config/kernel-d-obtain-alias.m4 \ + $(top_srcdir)/config/kernel-discard-granularity.m4 \ $(top_srcdir)/config/kernel-encode-fh-inode.m4 \ $(top_srcdir)/config/kernel-evict-inode.m4 \ $(top_srcdir)/config/kernel-fallocate.m4 \ |