mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
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 <behlendorf1@llnl.gov> Closes #862
This commit is contained in:
committed by
Brian Behlendorf
parent
9a512dca97
commit
ee5fd0bb80
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
Reference in New Issue
Block a user