From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id EE6C71FF0AD for ; Sun, 18 Oct 2026 14:48:10 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 4347D2174B; Sun, 18 Oct 2026 14:47:01 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sKxGMTO9FVyzMSjNQGQd8cL2oONYwBcM8WQaN+dpA16Lx/DQ7in1Eh/bYY9aMhKkyS9JMxT0VcVN3bTq7Yk061P6iblKubOMKvIM9OYZ+aYGFha2PRlzX7bDtEeWczTvitI5bKg2Of328q7m+pg67k4VcMjkYit8hM6O78xalEIB/i0w2qd8Elm6pcSUOxuOInzalwyUw9haYapXI2bvtcYmdkimBEQ7sZcvo30dCNpRGy1wyWWc9jMweSGcBzCiJUH+4fGFu4a8570QB0JKl+T6+in/fE18atUxf2UL7qfV9tqUCnkLnRriIH5/AukdV7/qrPsDnIwJU+l14kPb3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3BNJCpLMv1I6aeOwb+jBy09h2MV4ciDYBflXfID7VJY=; b=s2hPb5DxOSqvkRMDwqeIKl9eE/dI0LkFd+BbSExjaA2Bp7WXuJ0Ajn5kfh9sr9ZFjGVEDo7AxqPTbDm8xSKpXRZ1X88nZdugrvhhBAfq+thALaseSyJs4j+/zFDFpfewIYubt73X9Ypku7EFIMQ8KXDIGFENreQNMrgaEmpynk7t8c78ZoqlNGRx67wMajQa5sil0lpJsV9Hd9m/vQLfwb0r8p1K2MHSUXoyE2P/2lBeH0ZnKja/iCMA6ANrDAU3GWECV4vK54jHwRO/avaKkcEtKvOSEbeMyjganZOlLl93M8QUz7qnNnq+6SqwrT0WUE8dhC3KjT6ov/x9r5TiuQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ryomherold.dk; dmarc=pass action=none header.from=ryomherold.dk; dkim=pass header.d=ryomherold.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RyomHerold.dk; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3BNJCpLMv1I6aeOwb+jBy09h2MV4ciDYBflXfID7VJY=; b=S+lFG2HvaH0AbN8Co2FKVQ0iB1HEX2rKzWNiKorfBCAH1xg0gxVCCzPUU1SOHtoz36FBsvOoDzxULYbairLLs6lnAH5KPmf7SioX7BWSoBf8rj3J+gWBElIPq/+lhSO4yIG5cTO1qSgoz21KHvWe3P8Tig+zInIYXpPth6P3Ij7dW6hmiUcB2CS8xhvnzk/nSnsOLVKRsjiKWSf+jqloRvoNy+5CdJaJa8gjxx/gbK5h0hMuzY/VV6ziq90fuiWySJVsaEJCLYHgwqyDAwhoumXrttHRk5/hbPGa9UIliJ4uICSIJm0JcYpClHQt888mitHpHGF17+q3ymwOkYTjNQ== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=RyomHerold.dk; From: Michael Ryom To: pve-devel@lists.proxmox.com Subject: [PATCH ha-manager v2 02/14] manager: factor out checking whether a resource motion is queued or running Date: Sun, 18 Oct 2026 14:45:46 +0200 Message-ID: <20261018124559.24305-3-Michael@RyomHerold.dk> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20261018124559.24305-1-Michael@RyomHerold.dk> References: <20261018124559.24305-1-Michael@RyomHerold.dk> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MM0P280CA0046.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:b::20) To AS8PR10MB7231.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:619::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR10MB7231:EE_|PA4PR10MB5706:EE_ X-MS-Office365-Filtering-Correlation-Id: 75556372-67a2-46ed-ac9e-08df2d15cbc0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|23010399003|22082099003|10067099003|18002099003|261009223027099003|56012099006; X-Microsoft-Antispam-Message-Info: 8noOXACeY52YprOpnuVaH/UrCMQk6VgxbR+2u4g8CbHEh4HMrvre9pEjMcoA0+Kak8AS3mhl9yyGPPic6F86l751Wp2ND6Qsttvvi9h4Xnhs8MLaej0LfGzrDQNEjSjXpX2sWPhMw4s4/HDdlkPFxxsE3H8lmBjUFVajGzGtmAIXAWNAzjbk4nptawDLgvpm+s3xor25a2Qb9/W9NAzqG2BmIMrK2lZEOFy0b3f6rReak0y5R5W2CkWj+FS+knBgHkaGdjesKpIBQ+o8VnWSuOx9LZyVtN8Y4/UESVsG+MpJTNAiHm/CY6bnCefzQr5qeEun/ZggQQm4+iJ+VZPGIpKYwFO4TQFJGU2O5WDjOAPlbKgdse0HnH+2PFPHRzPOkpV+YOaXiGPCyxqlIabe3PRCGebUFYg9/OerYhlJLGvuvknfoCih5Qb4Pp7ED4yCaFjA0ynlwDJM5Kps0x0ez0hIMMXlDPtBDtVcTzlTJ+GCOkYVDnG4lDezsA48o98J99ZO6gzl6SYqwn+zBCkE627DTRno2h3v0++Yyj7Swh6957ye82vwo1tcdC+1aUUe/gY5YKPPF3F8l3LDHZHWkdzVqR+2aoQi+aufo14dnLP2AP9F9X2FeTnUKYSm8PJ4TitMlbFffRfGDUwH9fa0qqvXF2bIgcuYWrNeXMZYIb8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR10MB7231.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(23010399003)(22082099003)(10067099003)(18002099003)(261009223027099003)(56012099006);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/HPmZ9lM0qaZIiqiMhbF8btxMbRgTRpQIJYVjojAHjjtOOYob7dlKYB/TB4g?= =?us-ascii?Q?avkAPQAANrz3GZENM0iHYsTo6GlrLSHo1Ucxs+qz9a6JO1wAl6W3FnwVqiWT?= =?us-ascii?Q?HVy5PEQMx7a5lPua3rA8/K4hfJsfhuQN6ejIH8Z7y85WwPoebwLOh3cJaPu0?= =?us-ascii?Q?nkAtCDjG7I1xUjdpGc2w/Gm1v0UAmsqDp4dMMgobjSn45STMvmFJOxf9c+22?= =?us-ascii?Q?e9oxVuQ8Cq86u0UTYB7UJsdcn/eb6tGg0GC6pRayqiwIS3vPEaEirpYjrOJk?= =?us-ascii?Q?ep+KrU2H2aQ8ldmu23XN1OtCmz5yJk4OFwq0Ze9egsJyYqn1aUWkkc/rjFjV?= =?us-ascii?Q?jjXFqMLDaDe8IgH1sEwI21iCx8afeW5K9xLrlhBigrGW4brGu50B3ugGTIm5?= =?us-ascii?Q?jsyjN7d0qoxiiggjAFGXIJ+JS2P7bgfjgRwe3+t+4lhxg+zwu7otWD4+2YKt?= =?us-ascii?Q?k66+lvwMqcL70qS+bSIAjAdgA1ChpSC0enF1g/k1KIorYqhRBCFjD7xKSCHV?= =?us-ascii?Q?LBnwpemMT67X3sar7rT60dxBN0kLqYEbrTvTVoGcDe6hk4p/7RvrKYgVC7Ih?= =?us-ascii?Q?euVJx6Gn5XDfOv7KHBx65zMZi4JaKltn15z5fZwytf/zoJaZ8edchkpFld0n?= =?us-ascii?Q?C0MlpTvK3E+E8q1wPomRBJvcjph29jAKJlPxjYq+XHRQNDmKpPprZB/T1y65?= =?us-ascii?Q?QY3heXtG2rDTGUcOM9hocafL0c0+BHXto7EJ8rddK8JTjt3p2zCF3qM//2wl?= =?us-ascii?Q?d1gxUxTkhlE3QYqZJROmwjr/BHT7+I4qdGgFftVp7Yrh/A3bt0dpW8v1IOmL?= =?us-ascii?Q?3iVNoWZtPTFbR/UmY+VTdLyzx7B2glw8ksdX8L+hT7olPAcuvyXLqOVEv0ee?= =?us-ascii?Q?yBMWXFg0lAzrsAH8MLnfgPFSZNnAtMnyQsq0+2XskQzq15LTncUegufS6psj?= =?us-ascii?Q?tHNpnQtyTcyCdih8IQqMH9u0FaR9jeip7RbLBT35T6yHPoDgEjzbI1o8eimW?= =?us-ascii?Q?ZYSm0iHu712TRMuXW+IKGhPzFJZrLAROwIRLF4fl8ggWX6vDpxPgrgwmOQHC?= =?us-ascii?Q?AWVkj7N/XRGIrj6Q5Adi+zDmg0fmuj6bEavfMadBhNM+G/YwObofjVI6noSk?= =?us-ascii?Q?aiI6iNlVcYNkuXQNwhdI2nS93nbWF0qN5ifmxYYb54JIa7ysFgORBMhkmX7a?= =?us-ascii?Q?CwlH3Wwwd0LiixvfE9TYhed0TBZIzSya274HtrwS4LTFyL3IzvYFjiw3jvsx?= =?us-ascii?Q?QHtJPQW8llozETRa12s4bZrlbuB2d8LTNjVNUtSP6wBp+LOYNmdxFoRTMFRb?= =?us-ascii?Q?lkjUq+DTei77/Vw1v7dclw7GjEl/vjRbSzbVp8i4ShXztB4mGk4bT5mgsBT3?= =?us-ascii?Q?aQy6HXG6oRfUiBKDerTgiQ51rOk8/73ZHTg4swEq+HHmfLFbc5u04vF5pf8Q?= =?us-ascii?Q?tCw+9L9DWuvQeHqENVc9v6rZW/pgmITg6raZfhBoO+TPW2JSSOAce+yXFRf7?= =?us-ascii?Q?yJtgwOaxp4X6kex+JiHFKQPkpvwzmuZMRRhzd6bxcakt3ChRs9I+z34fzyao?= =?us-ascii?Q?OJhOhgrNp9jbYTqXVP6Nx1/gQ70CNqvvjwJgPhvV+fhTILU03HpjbWFK2iP6?= =?us-ascii?Q?aH4afMz5Jl5DyzTBnUytqym8Pm6lkZwNGABw4SOT4m31OQBxivbKgtyb/FRn?= =?us-ascii?Q?X7p9LVbpDTpOq8p6q1ztRwdNwk6Icxej4Ay76aZmlMNe4vD4N3MBKJ1fmf0I?= =?us-ascii?Q?c3emZOFoeg=3D=3D?= X-OriginatorOrg: RyomHerold.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 75556372-67a2-46ed-ac9e-08df2d15cbc0 X-MS-Exchange-CrossTenant-AuthSource: AS8PR10MB7231.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2026 12:46:14.7484 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 26a2499e-4646-4888-a695-c64736a56807 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: f4RRdASyPUC2wNa91vc2wnCmhXczWaAd7JLXf21iR3zCCIaUax6iwzVYAmjAfOYh9I+TlT960s0De7xCkNASDA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR10MB5706 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.003 Adjusted score from AWL reputation of From: address DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy GB_MSAUTHSOURCE_EUROPE 0.01 Mail authenticated via Microsoft Europe (EURP) datacenter RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust RCVD_IN_MSPIKE_H2 0.001 Average reputation (+2) SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: RTITDEISOVMZBMXU6SLXVOV6GGVME5MG X-Message-ID-Hash: RTITDEISOVMZBMXU6SLXVOV6GGVME5MG X-MailFrom: Michael@RyomHerold.dk X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Michael Ryom X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: The check is needed for single resources in the following patches. No functional change intended. Signed-off-by: Michael Ryom --- src/PVE/HA/Manager.pm | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/PVE/HA/Manager.pm b/src/PVE/HA/Manager.pm index 5840a76..e05f0a4 100644 --- a/src/PVE/HA/Manager.pm +++ b/src/PVE/HA/Manager.pm @@ -651,16 +651,22 @@ sub queue_resource_motion { } } -sub any_resource_motion_queued_or_running { - my ($self) = @_; +sub is_resource_motion_queued_or_running { + my ($self, $sid) = @_; + + my ($cmd, $state) = $self->{ss}->{$sid}->@{qw(cmd state)}; + + return 1 if $state eq 'migrate' || $state eq 'relocate'; + return 1 if defined($cmd) && ($cmd->[0] eq 'migrate' || $cmd->[0] eq 'relocate'); - my ($ss) = $self->@{qw(ss)}; + return 0; +} - for my $sid (keys %$ss) { - my ($cmd, $state) = $ss->{$sid}->@{qw(cmd state)}; +sub any_resource_motion_queued_or_running { + my ($self) = @_; - return 1 if $state eq 'migrate' || $state eq 'relocate'; - return 1 if defined($cmd) && ($cmd->[0] eq 'migrate' || $cmd->[0] eq 'relocate'); + for my $sid (keys $self->{ss}->%*) { + return 1 if $self->is_resource_motion_queued_or_running($sid); } return 0; -- 2.47.3