Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D1A45C61DA4 for ; Mon, 6 Mar 2023 19:18:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229988AbjCFTSr (ORCPT ); Mon, 6 Mar 2023 14:18:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42012 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230057AbjCFTSZ (ORCPT ); Mon, 6 Mar 2023 14:18:25 -0500 Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F3111FC5 for ; Mon, 6 Mar 2023 11:18:23 -0800 (PST) Received: by mail-ed1-x535.google.com with SMTP id j11so23588641edq.4 for ; Mon, 06 Mar 2023 11:18:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szeredi.hu; s=google; t=1678130302; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=WbDbkrtYIaj4h/JEt+PGK5ggFWdbYGJfSSTneNQay2I=; b=j/07IYjSLrbP9Eed2enqYxlX9HMGoSoiQUuwQx9dFVyPpB3YRAMSeLD9HaWSLpNvYu rdpyWP6BteBn7g2st0KtOpwue3ypCyVyHqL7KkagjXQ/Xleg57j0JY3rvKcf8dI7ME4z /dfVGyjtzWyQ7xEi+8locFLvagSsTZ6wt9YqU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678130302; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WbDbkrtYIaj4h/JEt+PGK5ggFWdbYGJfSSTneNQay2I=; b=7wV+vz5JvhaHs9W9qeHuN5lOcxbobJPjITONaFYSZ4yFhMS9umzLPIKC7bN6UoHnlg JrRKsru9UDFkWfVHyGpkXZXUWtwKeF7HB4gkOmelW2czxdXBcJQIFxrxnRLXsyw8ud7W 8LFNSVwbk7d0PId6rEcTaaRM1waQQQG+KapUmpwCY/CjJKi5RQxC/+ZeFeypYkB0heJm BF+2ApMG6vG8uBBQthVoTtV6OHRjzGp7yCswEiBzbp7g+YphqMiadV7SsgmwUtZeOkAW ANJrQIlT4JxHueI1B4q60Db97GVBkpx57ZTlxR5dpKaG3MzbpJVJBc+T9tSrSVGn+Bd/ bacg== X-Gm-Message-State: AO0yUKXDVo9teJU8q14EHrgNYWxKTbnqFbzD9Jkp88omDRkTnEDwbxF/ S3LYsGM14VT/SBIZ0ReEqr6w4cuY6En5Yf3YhoYrTA== X-Google-Smtp-Source: AK7set9r6F6+ciMT23z4zIyc6eSsWKiXVPrmgrbAFXs3L+sQF77q3SaEIRL9LWHOYyUh2e/b+JTXgVDt4xSUBnGetuA= X-Received: by 2002:a17:906:edac:b0:8f3:9ee9:f1e2 with SMTP id sa12-20020a170906edac00b008f39ee9f1e2mr5847569ejb.5.1678130301984; Mon, 06 Mar 2023 11:18:21 -0800 (PST) MIME-Version: 1.0 References: <20230220193754.470330-1-aleksandr.mikhalitsyn@canonical.com> In-Reply-To: From: Miklos Szeredi Date: Mon, 6 Mar 2023 20:18:11 +0100 Message-ID: Subject: Re: [RFC PATCH 0/9] fuse: API for Checkpoint/Restore To: Aleksandr Mikhalitsyn Cc: mszeredi@redhat.com, Al Viro , Amir Goldstein , =?UTF-8?Q?St=C3=A9phane_Graber?= , Seth Forshee , Christian Brauner , Andrei Vagin , Pavel Tikhomirov , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, criu@openvz.org, flyingpeng@tencent.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 6 Mar 2023 at 17:44, Aleksandr Mikhalitsyn wrote: > > On Mon, Mar 6, 2023 at 5:15=E2=80=AFPM Miklos Szeredi = wrote: > > Apparently all of the added mechanisms (REINIT, BM_REVAL, conn_gen) > > are crash recovery related, and not useful for C/R. Why is this being > > advertised as a precursor for CRIU support? > > It's because I'm doing this with CRIU in mind too, I think it's a good > way to make a universal interface > which can address not only the recovery case but also the C/R, cause > in some sense it's a close problem. That's what I'm wondering about... Crash recovery is about restoring (or at least regenerating) state in the userspace server. In CRIU restoring the state of the userspace server is a solved problem, the issue is restoring state in the kernel part of fuse. In a sense it's the exact opposite problem that crash recovery is doing. > But of course, Checkpoint/Restore is a way more trickier. But before > doing all the work with CRIU PoC, > I wanted to consult with you and folks if there are any serious > objections to this interface/feature or, conversely, > if there is someone else who is interested in it. > > Now about interfaces REINIT, BM_REVAL. > > I think it will be useful for CRIU case, but probably I need to extend > it a little bit, as I mentioned earlier in the cover letter: > > >* "fake" daemon has to reply to FUSE_INIT request from the kernel and = initialize fuse connection somehow. > > > This setup can be not consistent with the original daemon (protocol v= ersion, daemon capabilities/settings > > > like no_open, no_flush, readahead, and so on). > > So, after the "fake" demon has done its job during CRIU restore, we > need to replace it with the actual demon from > the dumpee tree and performing REINIT looks like a sanner way. I don't get it. How does REINIT help with switching to the real daemon? Thanks, Miklos