Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp509086pxb; Wed, 27 Jan 2021 13:23:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJzVvKEdODMzk6NXB6oXEiTEgD3YJe5JcnKhhmWpzZyvOKUZ053oS1iygb6syvYjib5y3oKh X-Received: by 2002:a05:6402:32c:: with SMTP id q12mr10858337edw.145.1611782583902; Wed, 27 Jan 2021 13:23:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611782583; cv=none; d=google.com; s=arc-20160816; b=y68l0ierXhowuj/oVnMoJ7D0CTrztC0MXni5SQbt+xwwxAcx/Y29PhgHgqurC7dWIr DgNDFy9xjX9CGHMU2teH0kCuQ2t/Cq4AENVeUm/4MqC44yUnu9etg8KDWkD7a1SfhMZd zKY0veusUlREcqnJfonzRSXQRHpxo7pzMPcOatSbGs8St2+SGHh8iu+XAxp7rX8ZPGwl RPxx/SsulYVklsxCNdRBVo++wwjenTiZg+bn5fR/n8ORSSpKiZJGsoTKZCuGHlVdIDTl Q3tf+H2klkZaV6Mn//Dlul3kXvJFp9oePZq25k6r+UlEsFZ6lp9eZMRP52+KtLyWW2j1 Wjlg== 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; bh=SqGHHekcA9ERV/sHO3iqfF5NQwKg5KKlaluUyEZM/IQ=; b=VOyeYHzDNpO2HEBtc4HBTTSEBNm2L7gEZZgDm2va6zUQhWEstDQ6GgMBfR62KTn0yI PQBSqmQimxrrAdL0DE0iMnaokIXLHrIUA054q/bIN1077LtduVBKWQclQTDpLPD5/P8L HhT48wkfLv8Q0kZsgAlRCyzhRqpfe7uNd7aclZna6AhAI+R2Vq+G9W0oh4aKCjpqGREO vSJfAfJxDGl8HVWpY90lNUq455+xvg1J2Y+gQbnj6Rrpt0N1roPGDDr9lrMNDxfgrFC8 YonifeSnFr5tgAyxFk1yLuYr7NFEIoRDLeiRMCzOES390Pl3RkEyjXPcfc7/O44Paxan wDXQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m26si1588780edp.501.2021.01.27.13.22.36; Wed, 27 Jan 2021 13:23:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234842AbhA0GGm (ORCPT + 99 others); Wed, 27 Jan 2021 01:06:42 -0500 Received: from outgoing-auth-1.mit.edu ([18.9.28.11]:59205 "EHLO outgoing.mit.edu" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S234371AbhA0FhT (ORCPT ); Wed, 27 Jan 2021 00:37:19 -0500 Received: from cwcc.thunk.org (pool-72-74-133-215.bstnma.fios.verizon.net [72.74.133.215]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 10R5aR23030931 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 27 Jan 2021 00:36:28 -0500 Received: by cwcc.thunk.org (Postfix, from userid 15806) id B445515C3709; Wed, 27 Jan 2021 00:36:27 -0500 (EST) Date: Wed, 27 Jan 2021 00:36:27 -0500 From: "Theodore Ts'o" To: Chaitanya Kulkarni Cc: Amy Parker , "linux-fsdevel@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: Getting a new fs in the kernel Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 26, 2021 at 07:06:55PM +0000, Chaitanya Kulkarni wrote: > From what I've seen you can post the long patch-series as an RFC and get the > > discussion started. > > The priority should be ease of review and not the total patch-count. File systems are also complicated enough that it's useful to make the patches available via a git repo, and it's highly recommended that you are rebasing it against the latest kernel on a regular basis. I also strongly recommend that once you get something that mostly works, that you start doing regression testing of the file system. Most of the major file systems in Linux use xfstests for their testing. One of the things that I've done is to package up xfstests as a test appliance, suitable for running under KVM or using Google Compute Engine, as a VM, to make it super easy for people to run regression tests. (One of my original goals for packaging it up was to make it easy for graduate students who were creating research file systems to try running regression tests so they could find potential problems --- and understand how hard it is to make a robust, production-ready file system, by giving them a realtively well documented, turn-key system for running file system regression tests.) For more information, see: https://thunk.org/gce-xfstests https://github.com/tytso/xfstests-bld/blob/master/Documentation/kvm-quickstart.md https://github.com/tytso/xfstests-bld/blob/master/Documentation/kvm-xfstests.md https://github.com/tytso/xfstests-bld/blob/master/Documentation/gce-xfstests.md The final thing I'll point out is that file system development is a team sport. Industry estimates are that it takes between 50 and 200 person-years to create a production-ready, general purpose enterprise file system. For example, ZFS took seven years to develop, starting with a core team of 4, and growing to over 14 developers by the time it was announced. And that didn't include all of the QA, release engineering, testers, performance engineers, to get it integrated into the Solaris product. Even after it was announced, it was a good four years before customers trusted it for production workloads. If you look at the major file systems in Linux: ext4, xfs, btrfs, f2fs, etc., you'll find that none of them are solo endeavors, and all of them have multiple companies who are employing the developers who work on them. Figuring out how to convince companies that there are good business reasons for them to support the developers of your file system is important, since in order to keep things going for the long haul, it really needs to be more than a single person's hobby. Good luck! - Ted