]> git.proxmox.com Git - mirror_zfs.git/commit
OpenZFS 8155 - simplify dmu_write_policy handling of pre-compressed buffers
authorMatthew Ahrens <mahrens@delphix.com>
Thu, 23 Mar 2017 16:07:27 +0000 (09:07 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 7 Jun 2017 18:16:01 +0000 (14:16 -0400)
commit82644107c4e7f3e899ebde18f65cbac7c604583c
tree8111a1ac9ea396e0a9f092fc5a97f50b8078d4bb
parent4070bfd85282eda582cd0050367478da5e29ca2e
OpenZFS 8155 - simplify dmu_write_policy handling of pre-compressed buffers

Authored by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Ported-by: Giuseppe Di Natale <dinatale2@llnl.gov>
When writing pre-compressed buffers, arc_write() requires that
the compression algorithm used to compress the buffer matches
the compression algorithm requested by the zio_prop_t, which is
set by dmu_write_policy(). This makes dmu_write_policy() and its
callers a bit more complicated.

We simplify this by making arc_write() trust the caller to supply
the type of pre-compressed buffer that it wants to write,
and override the compression setting in the zio_prop_t.

OpenZFS-issue: https://www.illumos.org/issues/8155
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/b55ff58
Closes #6200
include/sys/dmu.h
module/zfs/arc.c
module/zfs/dbuf.c
module/zfs/dmu.c
module/zfs/dmu_objset.c