From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D1AAC43333 for ; Wed, 27 Jan 2021 00:35:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4FDE020679 for ; Wed, 27 Jan 2021 00:35:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390703AbhA0A3A (ORCPT ); Tue, 26 Jan 2021 19:29:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52316 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389584AbhAZRPe (ORCPT ); Tue, 26 Jan 2021 12:15:34 -0500 Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D049EC061351 for ; Tue, 26 Jan 2021 09:15:18 -0800 (PST) Received: by mail-pj1-x102b.google.com with SMTP id gx1so2612028pjb.1 for ; Tue, 26 Jan 2021 09:15:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dilger-ca.20150623.gappssmtp.com; s=20150623; h=content-transfer-encoding:from:mime-version:subject:date:message-id :references:cc:in-reply-to:to; bh=1OK/MeZJl5NxcxE5Dh3B9A8mhymxtTUZmx4FhDUsbPY=; b=YSoe4Og20hwhN3jDWuBKZemxXDk8zdksEMCbNyCSJd3tiWbTzRb+W9uW3a5uOhG3d9 rg8Sy/x3/uSR/WISwkBhusJBuXFs4f4Ew4Qx/Jzz/Shs4zEFqL8mf+4nDfgloe3+rFjh 4Z5CzHrhnd+Yh7ACoDyVMAdTdaDgSzVskofOCzQ4mBFt704fFg4xFGcjrPN1kfXdrT1A eC6JVtYjxgYOjvXJVp+Mv7Je+LLbaqnJqm4jymgtvDrLgw/wy6XLpaQf5gKF5P9Wm3O1 C5Y6xZVt9ubUtDF9Vz8Bfte6yAyhuafOIDPoBiVOVPPaIsdz+9USmmhqKflYgYDbObVx 5sNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:content-transfer-encoding:from:mime-version :subject:date:message-id:references:cc:in-reply-to:to; bh=1OK/MeZJl5NxcxE5Dh3B9A8mhymxtTUZmx4FhDUsbPY=; b=UCr91aggXYHr2v+1JmibewT9/EEL6e8V9wX4Iv89XE7Y8DvE6m4mWjHngbcZ0FVxuo UcLC6eRZOV/C9NJJOJZQA+KHYOQL9XRU0o7NwPfUmluG0ebrGUrnymze/FPQ/bxkFRJI tWRM0SOJEdRAeFqgxdKz88a5iyxFOZXvWcvBkcj5JJH+9mWQG3m9y/Xmtje/p9l4pDYb 64tqUNxRegvwhlzy7o6drmVHOnkqdV1WkmbrPECBrKgmAfagNqG9jTZNWpH7eRPrKCm2 MhYXW5J6A4kIy6Zkwg0RInIuoysxbO5UD+/K9Raehai6fPdzyzrc8MndFn1cLFN+czEC ejqg== X-Gm-Message-State: AOAM533PFAog5nrFG/v6iwBPEhjEqPPBBwKaw8ozfA7JlHOwOIOHvHtO KBNvO23JT1QS/iUa4NgPv4MPOwIzVyP1/SRz X-Google-Smtp-Source: ABdhPJzOSgrY4m5BUz2N9eCvyppN9VeNapOvVp4cm1RzAFoqiJTviLaRuKIxY/kCtYXUJmQ2bygfSQ== X-Received: by 2002:a17:90a:f309:: with SMTP id ca9mr807823pjb.11.1611681318027; Tue, 26 Jan 2021 09:15:18 -0800 (PST) Received: from [192.168.10.175] (S01061cabc081bf83.cg.shawcable.net. [70.77.221.9]) by smtp.gmail.com with ESMTPSA id c11sm2783512pjv.3.2021.01.26.09.15.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 26 Jan 2021 09:15:17 -0800 (PST) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: Andreas Dilger Mime-Version: 1.0 (1.0) Subject: Re: Getting a new fs in the kernel Date: Tue, 26 Jan 2021 10:15:15 -0700 Message-Id: References: Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org In-Reply-To: To: Amy Parker X-Mailer: iPhone Mail (18B92) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Jan 26, 2021, at 09:25, Amy Parker wrote: >=20 > =EF=BB=BFKernel development newcomer here. I've begun creating a concept f= or a > new filesystem, and ideally once it's completed, rich, and stable I'd > try to get it into the kernel. Hello Amy, and welcome.=20 I guess the first question to ask is what would be unique and valuable about the new filesystem compared to existing filesystems in the kernel? Given that maintaining a new filesystem adds ongoing maintenance efforts, there has to be some added value before it would be accepted. Also, given that filesystems are storing critical data for users, and problems in the code can lead to data loss that can't be fixed by a reboot, like many other software bugs, it takes a very long time for filesystems to become stable enough for general use (the general rule of thumb is 10 years before a new filesystem is stable enough for general use).=20 Often, if you have ideas for new functionality, it makes more sense to add this into the framework of an existing filesystem (e.g. data verity, data encryption, metadata checksum, DAX, etc. were all added to ext4). Not only does this simplify efforts in terms of ongoing maintenance, but it also means many more users will benefit from your development effort in a much shorter timeframe. Otherwise, users would have to stop using their existing filesystem before they started using yours, and that is a very slow process, because your filesystem would have to be much better at *something* before they would make that switch.=20 > What would be the process for this? I'd assume a patch sequence, but > they'd all be dependent on each other, and sending in tons of > dependent patches doesn't sound like a great idea. I've seen requests > for pulls, but since I'm new here I don't really know what to do. Probably the first step, before submitting any patches, would be to provide a description of your work, and how it improves on the current filesystems in the kernel. It may be that there are existing projects that duplicate this effort, and combining resources will result in a 100% done filesystem rather than two 80% done projects... Note that I don't want to discourage you from participating in the Linux filesystem development community, but there are definitely considerations going both ways wrt. accepting a new filesystem into the kernel. It may be that your ideas, time, and efforts are better spent in contributing to an exiting project. It may also be that you have something groundbreaking work, and I look forward to reading about what that is.=20 Cheers, Andreas=