From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <f.ebner@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id 5A4DD6CF6D
 for <pve-devel@lists.proxmox.com>; Thu, 12 Aug 2021 13:01:30 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 5147B2208D
 for <pve-devel@lists.proxmox.com>; Thu, 12 Aug 2021 13:01:30 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [94.136.29.106])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS id 585C521FC9
 for <pve-devel@lists.proxmox.com>; Thu, 12 Aug 2021 13:01:24 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id A49D443316
 for <pve-devel@lists.proxmox.com>; Thu, 12 Aug 2021 13:01:17 +0200 (CEST)
From: Fabian Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Thu, 12 Aug 2021 13:00:59 +0200
Message-Id: <20210812110111.73883-1-f.ebner@proxmox.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.164 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URI_NOVOWEL               0.5 URI hostname has long non-vowel sequence
Subject: [pve-devel] [PATCH-SERIES v3] fix #3111: fix interaction of
 snapshot operations with replication
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Thu, 12 Aug 2021 11:01:30 -0000

For more context, see also:
https://lists.proxmox.com/pipermail/pve-devel/2021-August/049694.html

Changes from v2:
    * Many new patches, as the approach is different:
      For one, only replication snapshots that are blocking rollback
      are removed. Second, consider more snapshot candidates when
      probing for an incremental replication base. Last, instead of
      directly running replication after rollback, prevent snapshot
      deletion if it might be the current incremental replication
      base.

Many thanks to Fabian G. for discussing those ideas with me!

All patches are new in v3, except guest-common patch #1, which
hasn't changed much, and would fix some issues already by itself.

I think nothing requires an explicit dependency bump, but some things,
like "remove only the real blockers", will only start working when all
the pieces are in place.


storage:

Fabian Ebner (3):
  zfspool: add zfs_get_sorted_snapshot_list helper
  zfspool: add blockers parameter to volume_snapshot_is_possible
  test: zfspool: extend some rollback is possible tests with new
    blockers parameter

 PVE/Storage.pm                 |  4 +--
 PVE/Storage/BTRFSPlugin.pm     |  2 +-
 PVE/Storage/Plugin.pm          |  5 ++-
 PVE/Storage/ZFSPoolPlugin.pm   | 65 +++++++++++++++-------------------
 test/run_test_zfspoolplugin.pl | 65 +++++++++++++++++++++++++---------
 5 files changed, 85 insertions(+), 56 deletions(-)


container:

Fabian Ebner (1):
  config: rollback is possible: add blockers parameter

 src/PVE/LXC/Config.pm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)


qemu-server:

Fabian Ebner (1):
  config: rollback is possible: add blockers parameter

 PVE/QemuConfig.pm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


guest-common:

Fabian Ebner (7):
  partially fix #3111: snapshot rollback: improve removing replication
    snapshots
  config: rollback: factor out helper for removing replication snapshots
  partially fix #3111: further improve removing replication snapshots
  replication: remove unused variable and style fixes
  replication: pass guest config to find_common_replication_snapshot
  partially fix #3111: replication: be less picky when selecting
    incremental base
  fix #3111 config: snapshot delete: check if replication still needs it

 src/PVE/AbstractConfig.pm    | 120 +++++++++++++++++++++++++++++++----
 src/PVE/Replication.pm       |  66 ++++++++++++++++----
 src/PVE/ReplicationConfig.pm |  14 +++++
 3 files changed, 177 insertions(+), 23 deletions(-)

-- 
2.30.2