From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 2F56F6075F for ; Thu, 15 Oct 2020 09:53:23 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 23ECCFA01 for ; Thu, 15 Oct 2020 09:53:23 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (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 firstgate.proxmox.com (Proxmox) with ESMTPS id B84B2F9F4 for ; Thu, 15 Oct 2020 09:53:22 +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 86A7245D81 for ; Thu, 15 Oct 2020 09:53:22 +0200 (CEST) To: Dietmar Maurer , Proxmox Backup Server development discussion References: <20201014121639.25276-1-s.reiter@proxmox.com> <20201014121639.25276-9-s.reiter@proxmox.com> <1789123029.110.1602740598761@webmail.proxmox.com> From: Stefan Reiter Message-ID: Date: Thu, 15 Oct 2020 09:53:21 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <1789123029.110.1602740598761@webmail.proxmox.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.036 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -0.001 Looks like a legit reply (A) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pbs-devel] [PATCH proxmox-backup 08/11] datastore: add manifest locking X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Oct 2020 07:53:23 -0000 On 10/15/20 7:43 AM, Dietmar Maurer wrote: > Note: This api does not work if you want to create a new manifest (because you > do not have a lock) > >> + /// Store a given manifest. Requires a lock acquired with load_manifest_locked for safety. >> pub fn store_manifest( >> &self, >> backup_dir: &BackupDir, >> manifest: BackupManifest, >> + _manifest_lock: ManifestLock, >> ) -> Result<(), Error> { Correct me if I'm wrong, but I believe we never create a manifest, except when we upload it from the client the first time (or on pull, which is the same thing). That's also why I consider the flock directly on the manifest safe: The only path we write a new manifest is on creation, where we couldn't have possibly had a lock on it before, and whenever we change it afterward we use this API, meaning the flock is required to be held, and thus nothing can concurrently replace the file underneath us.