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 /cmd | |
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 'cmd')
-rw-r--r-- | cmd/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/mount_zfs/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/vdev_id/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/zdb/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/zfs/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/zinject/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/zpios/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/zpool/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/zpool_id/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/zpool_layout/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/ztest/Makefile.in | 1 | ||||
-rw-r--r-- | cmd/zvol_id/Makefile.in | 1 |
12 files changed, 12 insertions, 0 deletions
diff --git a/cmd/Makefile.in b/cmd/Makefile.in index bd03b3558..3a031e875 100644 --- a/cmd/Makefile.in +++ b/cmd/Makefile.in @@ -68,6 +68,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/cmd/mount_zfs/Makefile.in b/cmd/mount_zfs/Makefile.in index 0a6ca2e09..b0e80aa20 100644 --- a/cmd/mount_zfs/Makefile.in +++ b/cmd/mount_zfs/Makefile.in @@ -71,6 +71,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/cmd/vdev_id/Makefile.in b/cmd/vdev_id/Makefile.in index 4a8ecfd4a..56b1ebe77 100644 --- a/cmd/vdev_id/Makefile.in +++ b/cmd/vdev_id/Makefile.in @@ -70,6 +70,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/cmd/zdb/Makefile.in b/cmd/zdb/Makefile.in index 6842334f5..e55f6adf5 100644 --- a/cmd/zdb/Makefile.in +++ b/cmd/zdb/Makefile.in @@ -71,6 +71,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/cmd/zfs/Makefile.in b/cmd/zfs/Makefile.in index 582604b69..bdd2914d9 100644 --- a/cmd/zfs/Makefile.in +++ b/cmd/zfs/Makefile.in @@ -71,6 +71,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/cmd/zinject/Makefile.in b/cmd/zinject/Makefile.in index 1a8a7837f..d229f81dd 100644 --- a/cmd/zinject/Makefile.in +++ b/cmd/zinject/Makefile.in @@ -71,6 +71,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/cmd/zpios/Makefile.in b/cmd/zpios/Makefile.in index 6bfb81c9e..40db43c30 100644 --- a/cmd/zpios/Makefile.in +++ b/cmd/zpios/Makefile.in @@ -71,6 +71,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/cmd/zpool/Makefile.in b/cmd/zpool/Makefile.in index 9ac1d2e77..74390c423 100644 --- a/cmd/zpool/Makefile.in +++ b/cmd/zpool/Makefile.in @@ -71,6 +71,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/cmd/zpool_id/Makefile.in b/cmd/zpool_id/Makefile.in index 67812174f..c4dc586e2 100644 --- a/cmd/zpool_id/Makefile.in +++ b/cmd/zpool_id/Makefile.in @@ -70,6 +70,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/cmd/zpool_layout/Makefile.in b/cmd/zpool_layout/Makefile.in index c6a2f0db4..d13c2e6bf 100644 --- a/cmd/zpool_layout/Makefile.in +++ b/cmd/zpool_layout/Makefile.in @@ -70,6 +70,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/cmd/ztest/Makefile.in b/cmd/ztest/Makefile.in index 2dbdfd4d7..b4cdc2284 100644 --- a/cmd/ztest/Makefile.in +++ b/cmd/ztest/Makefile.in @@ -71,6 +71,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/cmd/zvol_id/Makefile.in b/cmd/zvol_id/Makefile.in index d16e5b75c..acc243317 100644 --- a/cmd/zvol_id/Makefile.in +++ b/cmd/zvol_id/Makefile.in @@ -71,6 +71,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 \ |