Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp31853985rwd; Fri, 7 Jul 2023 05:31:24 -0700 (PDT) X-Google-Smtp-Source: APBJJlHrhj7u49oB8tQ/BApPqoqsRbWbaXGTAr4DbYKk/iZdbQeNqn2sWTnJCxL6HE4gDRyv6PFS X-Received: by 2002:a05:6a20:610:b0:125:9d7f:3c03 with SMTP id 16-20020a056a20061000b001259d7f3c03mr3272408pzl.23.1688733084283; Fri, 07 Jul 2023 05:31:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688733084; cv=none; d=google.com; s=arc-20160816; b=NTSzDAiPvESGWXbCvh5NjhKFDhJ75qTKYNpv561PMkNCk5l5Op6UmPlQ97PxOqvIbK 4l7jazAxyS6H9d3kJBUzGshkGaVqL2HRAP9Rb3g2XLn6INATlVGxjbUbEK3D57WcY7nO ZDBWdSUYUg6KS3kOh1rEMcMuYkWPOw6JkazjGzmWYj2tnHBOBkg///KaJToiDKEIrRqr kSSbz1N+WIV9cxZDU8/SvOi4cHxrdo7rfhfkcTC39LiVuj0dbQRvpbi/eTGTTrWpFS5U Sk0WcFk9YT7ZcM9fGb13/sebPOZcPz5B9UhcgSbM9vuQr63PLXGO+CautDH93c3XK2La PEAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=rhpDqg8pI0zX12ElS90vQT8QQV6E3FjtxWt9F4QgwcU=; fh=rt0HaK2zYm2lsumYRj1+WQuqwLbb0OUFpMpe3rbfwck=; b=lr34AZqiLWLepwukKO56Qscn8XcD6EUMnECWrMEiFNgXmSa4bZ3G6zfEldexy6nQio hapFqEFLyWi/EDwEwedHSzgtGInYdOxxyx0mzLW6+H/0xBWZzDXV6MxoLIqqemtNLCaT +ly2EO8/Sqgz/PmKY7gdh+zbYbId40fALFJYKQB5QptSRuRSpVds3gcti48hNLbMJgn7 tIDqM3nwn3rmG1Yxxl1+WHVGCV8ZVvchJVhsdRQ4V8m1qP1sZvo6kjRUj56PzryngM1P P7qVkwimCjw6OFsVJ0A0TwRCyTEEhIUXC3DZHN1cjhToMgnfn/3CeZqCTw2Vkr5HcEys kJFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=PSEl7yWW; 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=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id im22-20020a170902bb1600b001b89fc42692si3492688plb.256.2023.07.07.05.31.11; Fri, 07 Jul 2023 05:31:24 -0700 (PDT) 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=@redhat.com header.s=mimecast20190719 header.b=PSEl7yWW; 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=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230041AbjGGMQl (ORCPT + 99 others); Fri, 7 Jul 2023 08:16:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229642AbjGGMQj (ORCPT ); Fri, 7 Jul 2023 08:16:39 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9CB7E1BE1 for ; Fri, 7 Jul 2023 05:15:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1688732151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=rhpDqg8pI0zX12ElS90vQT8QQV6E3FjtxWt9F4QgwcU=; b=PSEl7yWW0g9KegAQ8cdyMvZHxxVFckOETksGXh1P2F54DjEhb5Vme0/ZTVhEQJJ/C5T6+W qoo/q9rrgU1DV3xDwX1blSHMANGKpcAuzHWww91PI8bpba0k7nw4pWLeV92KeIKn26Rnyx rvP6TchdxcOEbrsT8bR6ZxY6bj/XS6M= Received: from mail-yw1-f197.google.com (mail-yw1-f197.google.com [209.85.128.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-618-hKwGDFdpMva43xppaFYdEA-1; Fri, 07 Jul 2023 08:15:48 -0400 X-MC-Unique: hKwGDFdpMva43xppaFYdEA-1 Received: by mail-yw1-f197.google.com with SMTP id 00721157ae682-56fffdea2d0so19082857b3.1 for ; Fri, 07 Jul 2023 05:15:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688732148; x=1691324148; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=rhpDqg8pI0zX12ElS90vQT8QQV6E3FjtxWt9F4QgwcU=; b=a4MfMEwi4C260Uh+Id70r2TGciL/qH7GW5tG6RNpwBA7XDGsuRBkpTl2bJEfR0u2GE W9aKRdvYWRe3JXjxEqIFFpAh1L2oIz0sufPrLqHuxjMNvr0U8HDTwzgnWJrWN5uvoa42 Ir9jf1yROEz079HnZTVJ3uMgyLWdPzRP3i8Ubj+Pw0rboFhTON6pSB8vIIfPuzabf0cw enT/xi2T+KGvPkTkCcO7KRPFlrSMOmy71IMOu4nwrKFgWDn4eBM0dqR0wexUPtakKzl7 cInVSRJgx5Bn/0dmkWo9/EOT/hsz+UgRsmqkyLteT/NJIJn8MqtDBGzRX6vnXTF21+aN tYQg== X-Gm-Message-State: ABy/qLbEs6FTdnSvWjQ43MS48lWJVFq/GRD0sO34AoUKqv+zb/D6Cbh0 63DZ4KpUs6PJVcRjji49U/jkmybMs6w79SX/7rJ8MPZzaY3Ivih2AbK4xsGiVEOYr60RyzqDYxZ hfDKnH7RLbvXP/eVa/jCYaoDX X-Received: by 2002:a0d:f543:0:b0:570:81f1:7b49 with SMTP id e64-20020a0df543000000b0057081f17b49mr4993724ywf.6.1688732148086; Fri, 07 Jul 2023 05:15:48 -0700 (PDT) X-Received: by 2002:a0d:f543:0:b0:570:81f1:7b49 with SMTP id e64-20020a0df543000000b0057081f17b49mr4993707ywf.6.1688732147833; Fri, 07 Jul 2023 05:15:47 -0700 (PDT) Received: from bfoster (c-24-61-119-116.hsd1.ma.comcast.net. [24.61.119.116]) by smtp.gmail.com with ESMTPSA id n1-20020ac86741000000b00400c5f5e713sm1648278qtp.97.2023.07.07.05.15.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jul 2023 05:15:47 -0700 (PDT) Date: Fri, 7 Jul 2023 08:18:28 -0400 From: Brian Foster To: Kent Overstreet Cc: Josef Bacik , torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-bcachefs@vger.kernel.org, djwong@kernel.org, dchinner@redhat.com, sandeen@redhat.com, willy@infradead.org, tytso@mit.edu, jack@suse.cz, andreas.gruenbacher@gmail.com, brauner@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, dhowells@redhat.com Subject: Re: [GIT PULL] bcachefs Message-ID: References: <20230626214656.hcp4puionmtoloat@moria.home.lan> <20230706155602.mnhsylo3pnief2of@moria.home.lan> <20230706164055.GA2306489@perftesting> <20230706173819.36c67pf42ba4gmv4@moria.home.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230706173819.36c67pf42ba4gmv4@moria.home.lan> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 Thu, Jul 06, 2023 at 01:38:19PM -0400, Kent Overstreet wrote: > On Thu, Jul 06, 2023 at 12:40:55PM -0400, Josef Bacik wrote: ... > > I am really, really wanting you to succeed here Kent. If the general consensus > > is you need to have some idiot review fs/bcachefs I will happily carve out some > > time and dig in. > > That would be much appreciated - I'll owe you some beers next time I see > you. But before jumping in, let's see if we can get people who have > already worked with the code to say something. > I've been poking at bcachefs for several months or so now. I'm happy to chime in on my practical experience thus far, though I'm still not totally clear what folks are looking for on this front, in terms of actual review. I agree with Josef's sentiment that a thorough code review of the entire fs is not really practical. I've not done that and don't plan to in the short term. As it is, I have been able to dig into various areas of the code, learn some of the basic principles, diagnose/fix issues and get some of those fixes merged without too much trouble. IMO, the code is fairly well organized at a high level, reasonably well documented and debuggable/supportable. That isn't to say some of those things couldn't be improved (and I expect they will be), but these are more time and resource constraints than anything and so I don't see any major red flags in that regard. Some of my bigger personal gripes would be a lot of macro code generation stuff makes it a bit harder (but not impossible) for a novice to come up to speed, and similarly a bit more introductory/feature level documentation would be useful to help navigate areas of code without having to rely on Kent as much. The documentation that is available is still pretty good for gaining a high level understanding of the fs data structures, though I agree that more content on things like on-disk format would be really nice. Functionality wise I think it's inevitable that there will be some growing pains as user and developer base grows. For that reason I think having some kind of experimental status for a period of time is probably the right approach. Most of the issues I've dug into personally have been corner case type things, but experience shows that these are the sorts of things that eventually arise with more users. We've also briefly discussed things like whether bcachefs could take more advantage of some of the test coverage that btrfs already has in fstests, since the feature sets should largely overlap. That is TBD, but is something else that might be a good step towards further proving out reliability. Related to that, something I'm not sure I've seen described anywhere is the functional/production status of the filesystem itself (not necessarily the development status of the various features). For example, is the filesystem used in production at any level? If so, what kinds of deployments, workloads and use cases do you know about? How long have they been in use, etc.? I realize we may not have knowledge or permission to share details, but any general info about usage in the wild would be interesting. The development process is fairly ad hoc, so I suspect that is something that would have to evolve if this lands upstream. Kent, did you have thoughts/plans around that? I don't mind contributing reviews where I can, but that means patches would be posted somewhere for feedback, etc. I suppose that has potential to slow things down, but also gives people a chance to see what's happening, review or ask questions, etc., which is another good way to learn or simply keep up with things. All in all I pretty much agree with Josef wrt to the merge request. ISTM the main issues right now are the external dependencies and development/community situation (i.e. bus factor). As above, I plan to continue contributions at least in terms of fixes and whatnot so long as $employer continues to allow me to dedicate at least some time to it and the community is functional ;), but it's not clear to me if that is sufficient to address the concerns here. WRT the dependencies, I agree it makes sense to be deliberate and for anything that is contentious, either just drop it or lift it into bcachefs for now to avoid the need to debate on these various fronts in the first place (and simplify the pull request as much as possible). With those issues addressed, perhaps it would be helpful if other interested fs maintainers/devs could chime in with any thoughts on what they'd want to see in order to ack (but not necessarily "review") a new filesystem pull request..? I don't have the context of the off list thread, but from this thread ISTM that perhaps Josef and Darrick are close to being "soft" acks provided the external dependencies are worked out. Christoph sent a nak based on maintainer status. Kent, you can add me as a reviewer if 1. you think that will help and 2. if you plan to commit to some sort of more formalized development process that will facilitate review..? I don't know if that means an ack from Christoph, but perhaps it addresses the nak. I don't really expect anybody to review the entire codebase, but obviously it's available for anybody who might want to dig into certain areas in more detail.. Brian