Compare commits
7 Commits
19953df19b
...
stable-6
| Author | SHA1 | Date | |
|---|---|---|---|
| 8748101cc1 | |||
| ff279e6b9b | |||
| 9b036161c8 | |||
| 407d5004a2 | |||
| b7ce537d24 | |||
| 6eb925bd8a | |||
| a542d21db8 |
@@ -26,13 +26,13 @@ python3-pyzfs_${ZFSPKGVER}_amd64.deb \
|
||||
pyzfs-doc_${ZFSPKGVER}_all.deb \
|
||||
spl_${ZFSPKGVER}_all.deb \
|
||||
zfs-initramfs_${ZFSPKGVER}_all.deb
|
||||
ZFS_DEBS= ${ZFS_DEB1} ${ZFS_DEB2} ${ZFS_DBG_DEBS}
|
||||
DEBS= ${ZFS_DEB1} ${ZFS_DEB2} ${ZFS_DBG_DEBS}
|
||||
|
||||
ZFS_DSC = zfs-linux_${ZFSPKGVER}.dsc
|
||||
|
||||
all: deb
|
||||
.PHONY: deb
|
||||
deb: ${ZFS_DEBS}
|
||||
deb: ${DEBS}
|
||||
.PHONY: dsc
|
||||
dsc: ${ZFS_DSC}
|
||||
|
||||
@@ -52,11 +52,11 @@ submodule:
|
||||
${ZFSSRC}/README.md: submodule
|
||||
|
||||
.PHONY: zfs
|
||||
zfs: ${ZFS_DEBS}
|
||||
zfs: ${DEBS}
|
||||
${ZFS_DEB2}: ${ZFS_DEB1}
|
||||
${ZFS_DEB1}: ${ZFSDIR}
|
||||
cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
|
||||
lintian ${ZFS_DEBS}
|
||||
lintian ${DEBS}
|
||||
|
||||
${ZFS_DSC}: ${ZFSDIR}
|
||||
tar czf zfs-linux_${ZFSVER}.orig.tar.gz ${ZFSDIR}
|
||||
|
||||
Vendored
+12
@@ -1,3 +1,15 @@
|
||||
zfs-linux (2.0.7-pve1) buster; urgency=medium
|
||||
|
||||
* update ZFS to 2.0.7
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Wed, 12 Jan 2022 18:46:26 +0100
|
||||
|
||||
zfs-linux (2.0.6-pve1~bpo10+1) buster; urgency=medium
|
||||
|
||||
* update ZFS to 2.0.6
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Tue, 28 Sep 2021 09:19:18 +0200
|
||||
|
||||
zfs-linux (2.0.5-pve1~bpo10+1) buster; urgency=medium
|
||||
|
||||
* Rebuild for buster based releases
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc
|
||||
index df560f921..4ce7af744 100644
|
||||
index 1c278b2ef..41c075c09 100644
|
||||
--- a/cmd/zed/zed.d/zed.rc
|
||||
+++ b/cmd/zed/zed.d/zed.rc
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
+3
-3
@@ -28,7 +28,7 @@ index 3788543b0..c7ee4ae9a 100755
|
||||
|
||||
typeset -i cnt=0
|
||||
diff --git a/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh b/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh
|
||||
index f89cb3b31..375d483f7 100755
|
||||
index d52f0261a..18356b017 100755
|
||||
--- a/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh
|
||||
+++ b/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh
|
||||
@@ -87,7 +87,7 @@ log_must xattrtest -f 10 -x 3 -s 32768 -r -k -p /$TESTPOOL/$TESTFS2/xattrsadir
|
||||
@@ -41,10 +41,10 @@ index f89cb3b31..375d483f7 100755
|
||||
log_must zfs set compression=off xattr=on $TESTPOOL/$TESTFS2
|
||||
|
||||
diff --git a/tests/zfs-tests/tests/functional/rsend/send_realloc_dnode_size.ksh b/tests/zfs-tests/tests/functional/rsend/send_realloc_dnode_size.ksh
|
||||
index 394fe95bb..43560aac5 100755
|
||||
index 551ed15db..bd30488ea 100755
|
||||
--- a/tests/zfs-tests/tests/functional/rsend/send_realloc_dnode_size.ksh
|
||||
+++ b/tests/zfs-tests/tests/functional/rsend/send_realloc_dnode_size.ksh
|
||||
@@ -93,7 +93,7 @@ log_must zfs snapshot $POOL/fs@c
|
||||
@@ -88,7 +88,7 @@ log_must zfs snapshot $POOL/fs@c
|
||||
# 4. Create an empty file and add xattrs to it to exercise reclaiming a
|
||||
# dnode that requires more than 1 slot for its bonus buffer (Zol #7433)
|
||||
log_must zfs set compression=on xattr=sa $POOL/fs
|
||||
|
||||
@@ -1,181 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Russo <aerusso@aerusso.net>
|
||||
Date: Tue, 22 Jun 2021 22:39:15 -0600
|
||||
Subject: [PATCH] Revert Consolidate arc_buf allocation checks
|
||||
|
||||
This reverts commit 13fac09868b4e4e08cc3ef7b937ac277c1c407b1.
|
||||
|
||||
Per the discussion in #11531, the reverted commit---which intended only
|
||||
to be a cleanup commit---introduced a subtle, unintended change in
|
||||
behavior.
|
||||
|
||||
Care was taken to partially revert and then reapply 10b3c7f5e4
|
||||
which would otherwise have caused a conflict. These changes were
|
||||
squashed in to this commit.
|
||||
|
||||
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
|
||||
Suggested-by: @chrisrd
|
||||
Suggested-by: robn@despairlabs.com
|
||||
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
|
||||
Closes #11531
|
||||
Closes #12227
|
||||
(cherry picked from commit c01032417f655555b29f4e67c187e0622d587c8d)
|
||||
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
---
|
||||
module/zfs/dbuf.c | 121 +++++++++++++++++++++++++++++-----------------
|
||||
1 file changed, 77 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/module/zfs/dbuf.c b/module/zfs/dbuf.c
|
||||
index 7d817320a..844f69367 100644
|
||||
--- a/module/zfs/dbuf.c
|
||||
+++ b/module/zfs/dbuf.c
|
||||
@@ -1090,42 +1090,6 @@ dbuf_set_data(dmu_buf_impl_t *db, arc_buf_t *buf)
|
||||
db->db.db_data = buf->b_data;
|
||||
}
|
||||
|
||||
-static arc_buf_t *
|
||||
-dbuf_alloc_arcbuf_from_arcbuf(dmu_buf_impl_t *db, arc_buf_t *data)
|
||||
-{
|
||||
- objset_t *os = db->db_objset;
|
||||
- spa_t *spa = os->os_spa;
|
||||
- arc_buf_contents_t type = DBUF_GET_BUFC_TYPE(db);
|
||||
- enum zio_compress compress_type;
|
||||
- uint8_t complevel;
|
||||
- int psize, lsize;
|
||||
-
|
||||
- psize = arc_buf_size(data);
|
||||
- lsize = arc_buf_lsize(data);
|
||||
- compress_type = arc_get_compression(data);
|
||||
- complevel = arc_get_complevel(data);
|
||||
-
|
||||
- if (arc_is_encrypted(data)) {
|
||||
- boolean_t byteorder;
|
||||
- uint8_t salt[ZIO_DATA_SALT_LEN];
|
||||
- uint8_t iv[ZIO_DATA_IV_LEN];
|
||||
- uint8_t mac[ZIO_DATA_MAC_LEN];
|
||||
- dnode_t *dn = DB_DNODE(db);
|
||||
-
|
||||
- arc_get_raw_params(data, &byteorder, salt, iv, mac);
|
||||
- data = arc_alloc_raw_buf(spa, db, dmu_objset_id(os),
|
||||
- byteorder, salt, iv, mac, dn->dn_type, psize, lsize,
|
||||
- compress_type, complevel);
|
||||
- } else if (compress_type != ZIO_COMPRESS_OFF) {
|
||||
- ASSERT3U(type, ==, ARC_BUFC_DATA);
|
||||
- data = arc_alloc_compressed_buf(spa, db,
|
||||
- psize, lsize, compress_type, complevel);
|
||||
- } else {
|
||||
- data = arc_alloc_buf(spa, db, type, psize);
|
||||
- }
|
||||
- return (data);
|
||||
-}
|
||||
-
|
||||
static arc_buf_t *
|
||||
dbuf_alloc_arcbuf(dmu_buf_impl_t *db)
|
||||
{
|
||||
@@ -1575,9 +1539,35 @@ dbuf_fix_old_data(dmu_buf_impl_t *db, uint64_t txg)
|
||||
arc_space_consume(bonuslen, ARC_SPACE_BONUS);
|
||||
bcopy(db->db.db_data, dr->dt.dl.dr_data, bonuslen);
|
||||
} else if (zfs_refcount_count(&db->db_holds) > db->db_dirtycnt) {
|
||||
- arc_buf_t *buf = dbuf_alloc_arcbuf_from_arcbuf(db, db->db_buf);
|
||||
- dr->dt.dl.dr_data = buf;
|
||||
- bcopy(db->db.db_data, buf->b_data, arc_buf_size(buf));
|
||||
+ dnode_t *dn = DB_DNODE(db);
|
||||
+ int size = arc_buf_size(db->db_buf);
|
||||
+ arc_buf_contents_t type = DBUF_GET_BUFC_TYPE(db);
|
||||
+ spa_t *spa = db->db_objset->os_spa;
|
||||
+ enum zio_compress compress_type =
|
||||
+ arc_get_compression(db->db_buf);
|
||||
+ uint8_t complevel = arc_get_complevel(db->db_buf);
|
||||
+
|
||||
+ if (arc_is_encrypted(db->db_buf)) {
|
||||
+ boolean_t byteorder;
|
||||
+ uint8_t salt[ZIO_DATA_SALT_LEN];
|
||||
+ uint8_t iv[ZIO_DATA_IV_LEN];
|
||||
+ uint8_t mac[ZIO_DATA_MAC_LEN];
|
||||
+
|
||||
+ arc_get_raw_params(db->db_buf, &byteorder, salt,
|
||||
+ iv, mac);
|
||||
+ dr->dt.dl.dr_data = arc_alloc_raw_buf(spa, db,
|
||||
+ dmu_objset_id(dn->dn_objset), byteorder, salt, iv,
|
||||
+ mac, dn->dn_type, size, arc_buf_lsize(db->db_buf),
|
||||
+ compress_type, complevel);
|
||||
+ } else if (compress_type != ZIO_COMPRESS_OFF) {
|
||||
+ ASSERT3U(type, ==, ARC_BUFC_DATA);
|
||||
+ dr->dt.dl.dr_data = arc_alloc_compressed_buf(spa, db,
|
||||
+ size, arc_buf_lsize(db->db_buf), compress_type,
|
||||
+ complevel);
|
||||
+ } else {
|
||||
+ dr->dt.dl.dr_data = arc_alloc_buf(spa, db, type, size);
|
||||
+ }
|
||||
+ bcopy(db->db.db_data, dr->dt.dl.dr_data->b_data, size);
|
||||
} else {
|
||||
db->db_buf = NULL;
|
||||
dbuf_clear_data(db);
|
||||
@@ -3280,10 +3270,30 @@ noinline static void
|
||||
dbuf_hold_copy(dnode_t *dn, dmu_buf_impl_t *db)
|
||||
{
|
||||
dbuf_dirty_record_t *dr = db->db_data_pending;
|
||||
- arc_buf_t *newdata, *data = dr->dt.dl.dr_data;
|
||||
+ arc_buf_t *data = dr->dt.dl.dr_data;
|
||||
+ enum zio_compress compress_type = arc_get_compression(data);
|
||||
+ uint8_t complevel = arc_get_complevel(data);
|
||||
+
|
||||
+ if (arc_is_encrypted(data)) {
|
||||
+ boolean_t byteorder;
|
||||
+ uint8_t salt[ZIO_DATA_SALT_LEN];
|
||||
+ uint8_t iv[ZIO_DATA_IV_LEN];
|
||||
+ uint8_t mac[ZIO_DATA_MAC_LEN];
|
||||
+
|
||||
+ arc_get_raw_params(data, &byteorder, salt, iv, mac);
|
||||
+ dbuf_set_data(db, arc_alloc_raw_buf(dn->dn_objset->os_spa, db,
|
||||
+ dmu_objset_id(dn->dn_objset), byteorder, salt, iv, mac,
|
||||
+ dn->dn_type, arc_buf_size(data), arc_buf_lsize(data),
|
||||
+ compress_type, complevel));
|
||||
+ } else if (compress_type != ZIO_COMPRESS_OFF) {
|
||||
+ dbuf_set_data(db, arc_alloc_compressed_buf(
|
||||
+ dn->dn_objset->os_spa, db, arc_buf_size(data),
|
||||
+ arc_buf_lsize(data), compress_type, complevel));
|
||||
+ } else {
|
||||
+ dbuf_set_data(db, arc_alloc_buf(dn->dn_objset->os_spa, db,
|
||||
+ DBUF_GET_BUFC_TYPE(db), db->db.db_size));
|
||||
+ }
|
||||
|
||||
- newdata = dbuf_alloc_arcbuf_from_arcbuf(db, data);
|
||||
- dbuf_set_data(db, newdata);
|
||||
rw_enter(&db->db_rwlock, RW_WRITER);
|
||||
bcopy(data->b_data, db->db.db_data, arc_buf_size(data));
|
||||
rw_exit(&db->db_rwlock);
|
||||
@@ -4067,8 +4077,31 @@ dbuf_sync_leaf(dbuf_dirty_record_t *dr, dmu_tx_t *tx)
|
||||
* objects only modified in the syncing context (e.g.
|
||||
* DNONE_DNODE blocks).
|
||||
*/
|
||||
- *datap = dbuf_alloc_arcbuf_from_arcbuf(db, db->db_buf);
|
||||
- bcopy(db->db.db_data, (*datap)->b_data, arc_buf_size(*datap));
|
||||
+ int psize = arc_buf_size(*datap);
|
||||
+ int lsize = arc_buf_lsize(*datap);
|
||||
+ arc_buf_contents_t type = DBUF_GET_BUFC_TYPE(db);
|
||||
+ enum zio_compress compress_type = arc_get_compression(*datap);
|
||||
+ uint8_t complevel = arc_get_complevel(*datap);
|
||||
+
|
||||
+ if (arc_is_encrypted(*datap)) {
|
||||
+ boolean_t byteorder;
|
||||
+ uint8_t salt[ZIO_DATA_SALT_LEN];
|
||||
+ uint8_t iv[ZIO_DATA_IV_LEN];
|
||||
+ uint8_t mac[ZIO_DATA_MAC_LEN];
|
||||
+
|
||||
+ arc_get_raw_params(*datap, &byteorder, salt, iv, mac);
|
||||
+ *datap = arc_alloc_raw_buf(os->os_spa, db,
|
||||
+ dmu_objset_id(os), byteorder, salt, iv, mac,
|
||||
+ dn->dn_type, psize, lsize, compress_type,
|
||||
+ complevel);
|
||||
+ } else if (compress_type != ZIO_COMPRESS_OFF) {
|
||||
+ ASSERT3U(type, ==, ARC_BUFC_DATA);
|
||||
+ *datap = arc_alloc_compressed_buf(os->os_spa, db,
|
||||
+ psize, lsize, compress_type, complevel);
|
||||
+ } else {
|
||||
+ *datap = arc_alloc_buf(os->os_spa, db, type, psize);
|
||||
+ }
|
||||
+ bcopy(db->db.db_data, (*datap)->b_data, psize);
|
||||
}
|
||||
db->db_data_pending = dr;
|
||||
|
||||
Vendored
-1
@@ -7,4 +7,3 @@
|
||||
0007-Use-installed-python3.patch
|
||||
0008-Add-systemd-unit-for-importing-specific-pools.patch
|
||||
0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
|
||||
0010-Revert-Consolidate-arc_buf-allocation-checks.patch
|
||||
|
||||
Vendored
+1
-1
@@ -50,7 +50,7 @@ override_dh_auto_test:
|
||||
override_dh_auto_test:
|
||||
ifeq (amd64,$(DEB_HOST_ARCH))
|
||||
# Upstream provides an ABI guarantee that we validate here
|
||||
$(MAKE) checkabi
|
||||
-$(MAKE) checkabi
|
||||
endif
|
||||
|
||||
# The dh_auto_test rule is disabled because
|
||||
|
||||
+1
-1
Submodule upstream updated: e9353bc2ef...ad81baab77
Reference in New Issue
Block a user