Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp6481928rwb; Tue, 22 Nov 2022 14:08:06 -0800 (PST) X-Google-Smtp-Source: AA0mqf66lSJpTh4zEukeHyPKi98L1i8wf3GY5UKBQCx6Q+NexPkHcgxbfhXNayhuR79ZSLCRIW8+ X-Received: by 2002:aa7:80d0:0:b0:565:c4e2:2634 with SMTP id a16-20020aa780d0000000b00565c4e22634mr9283027pfn.0.1669154886042; Tue, 22 Nov 2022 14:08:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669154886; cv=none; d=google.com; s=arc-20160816; b=ahG61M+W0PQZ2PFKQEgQ0JJ6yS0geXzAXWWcPm2vLszb2BIgoDhDihraA9xfoFpyKU oqdeNZSXiMAaSBQASx0RNah4Wa6UEFVp1GKG1kjEVK5YmVhr5cbGm8NrpZG/JBN40nnt vNTG4Nl4uq3hpbBdymYWbltIuYRpDOgKEshuPPzLSjbgfmvIs0xPmwyyCiwdopxkwQlH 1yawDyaRf7D6pCtz24l6ESXnxseTZ+9a0rEwTcAXErUZzDdjx/ovt1arxcjGV2TVPaZA +G2KZQ7e/R0kWljeR44taDnPJuZ22ybxcYGW8wGMYX8aGltfUWh4MsDUp90nTGZoLlTf Ly+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=io661+dNfxoEO20qUW/6J+6nYl2fudHXUp0XJ6CzRak=; b=hZ6fIjaoOzE4wVvxOdrAbi6qrOkTKdfUIBtMx7igbI/j+eF13YRdWH6bsJuk7xWCnG G/7hf+rJUpJfk08BNIMnWdVhk1E1F8sAXPcnjgYkRUbH9r2DIEUPEykmdGsu3PJFpsxQ K/2iDBayVuvj/Hh0bj0Kq1ZFsSOClztpYOFeg/vrApPCScjeqmQefWb5m/CpAM7jP7jI cxFdMmMwvSJf60k4N3sVaHInpgXDOrwoCZCOR5lVbJW8Q0wNvs52X/tBvoogVVAMcpgY fOjRbbRHloIWNL+VYGEgad1Idl1Ij7bYVgIxCBSg4HYqlkmvqwyBccqzMSfEIsf5Qf/Z LoEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=rcn5Ssf6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 64-20020a620643000000b005639db953adsi13772155pfg.68.2022.11.22.14.07.54; Tue, 22 Nov 2022 14:08:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=rcn5Ssf6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234164AbiKVVX0 (ORCPT + 89 others); Tue, 22 Nov 2022 16:23:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234723AbiKVVXW (ORCPT ); Tue, 22 Nov 2022 16:23:22 -0500 Received: from mail-io1-xd2c.google.com (mail-io1-xd2c.google.com [IPv6:2607:f8b0:4864:20::d2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0C3E23BE5 for ; Tue, 22 Nov 2022 13:23:21 -0800 (PST) Received: by mail-io1-xd2c.google.com with SMTP id d123so11909617iof.7 for ; Tue, 22 Nov 2022 13:23:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=io661+dNfxoEO20qUW/6J+6nYl2fudHXUp0XJ6CzRak=; b=rcn5Ssf6R9mCT4CzmKOXenY+pbjaS92fqt2NvtqqkmlAadHSvRkAMAYdSrfUfIwK5/ vvFdgrWUY/TpsHqBTVKNHJgbrtVOqGVhEsrW202OSXK0WzyfFil/cA7+XwW7MO5F57CP b0SopjqTUfk16jHO7iUpcUOyy5+k3AFma6MGzbjbNuJ7UJ1/UrQpi6dO/J2dHCrLOr+V cOA1GbZ+WjVAMBeKONYIaL1nzqGJ+HFoGjlixnLpeo05BVGBnfI8tTzIWCugDwDv+xWW gCM/OeN4tP0JUbqUwD7K7yBbDnrOu5Kt7ZhHoT3JtRZcx92Clbcnamf6wgiC8DaGMlnE rHKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=io661+dNfxoEO20qUW/6J+6nYl2fudHXUp0XJ6CzRak=; b=jBXNMtLnnENqynQI46XtcRZWIO8RY1FyfpMmM0TQNfKfJE8G6J+9dQH5nRzEG+KL4o zYJa6w2ZYD0gsUIOSXZyMEZL0pDlWWT3brjJKeeAodzEXEYCdZzi02oNfOeWV3gMBCOd rQWw6tZwxzUU/qkfnnh2CMHCiVm1uvnk6PDhom3Ph8LIOkkyBxH5XdocaDmrAdftdECI sbeSbgHDXz4XWbwXaXwTTR3LHueBxd8JKYFYj180ibtSR9WDKVCMhdX+gsEyX+TWZ2Ns Li/vVOXJE804uDLiqsrAm7NcGpxv8NGwnhTXnWEjTPmk2aws05Sc99xF20ywX2TiEM0N 9isw== X-Gm-Message-State: ANoB5pnoXmpQB0qcbiycpsJLtEIecRu696bN2Cntt7j4MJascsl2x5rm hIyysgkB8Igr7O7Xp6YwA6ZrEurW/IKRLtwANmTiHA== X-Received: by 2002:a02:7115:0:b0:36f:a831:4497 with SMTP id n21-20020a027115000000b0036fa8314497mr11958860jac.209.1669152201047; Tue, 22 Nov 2022 13:23:21 -0800 (PST) MIME-Version: 1.0 References: <20221122021536.1629178-1-drosen@google.com> <20221122021536.1629178-5-drosen@google.com> In-Reply-To: From: Daniel Rosenberg Date: Tue, 22 Nov 2022 13:23:09 -0800 Message-ID: Subject: Re: [RFC PATCH v2 04/21] fuse: Add fuse-bpf, a stacked fs extension for FUSE To: Amir Goldstein Cc: Miklos Szeredi , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-unionfs@vger.kernel.org, bpf@vger.kernel.org, kernel-team@android.com, Paul Lawrence , Alessio Balsini Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Nov 22, 2022 at 2:19 AM Amir Goldstein wrote: > > I hope there is a better way than this macro... > Haven't studied the patches enough to be able to suggest one. > > Thanks, > Amir. I'm certainly open to suggestions there. Currently the main thing stopping us from moving away from that macro are the four functions/var args we pass in. We've thought about alternatives there, but we haven't found one we like so far. Since we've refactored all the uses of the macro into function calls, we can avoid most of it now. The ugliest bit would be moving the var args into a struct and passing it in as a void*. Then we could have all the function signatures match and pass them as function pointers. The remaining things we use the macro for could either be pushed into the struct, or extra boilerplate around the function call.