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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5269CC7EE2F for ; Fri, 9 Jun 2023 23:53:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C7BC28E0002; Fri, 9 Jun 2023 19:53:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C2B946B0074; Fri, 9 Jun 2023 19:53:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AF2ED8E0002; Fri, 9 Jun 2023 19:53:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9C8A86B0072 for ; Fri, 9 Jun 2023 19:53:00 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 671EBAF46A for ; Fri, 9 Jun 2023 23:52:59 +0000 (UTC) X-FDA: 80884862478.25.EAF5C67 Received: from out-38.mta0.migadu.com (out-38.mta0.migadu.com [91.218.175.38]) by imf01.hostedemail.com (Postfix) with ESMTP id 7E26D40003 for ; Fri, 9 Jun 2023 23:52:57 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=q5Lowd7A; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf01.hostedemail.com: domain of kent.overstreet@linux.dev designates 91.218.175.38 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686354777; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=FCKPXNbfuXiLkTq+8ViGBVnBlfhzGJ+dmPtv6KeJLyU=; b=ArYfu+1h0H0ZwP4YkjRa+CM1YR2yxbFLUKzcuiat1JMhYVMLtm+aSzRQ9BBuXgN4edzZGi KsY3Qwb430tM72KEFznPEReMjpaAeon1TqiBJIH+vUWEN/PlV7ClbLApAEngI9y2nU5f5y p4/ybBDYLA9IdQGjxMMwGOVsuhzu8X8= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=q5Lowd7A; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf01.hostedemail.com: domain of kent.overstreet@linux.dev designates 91.218.175.38 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686354777; a=rsa-sha256; cv=none; b=b31On8FORsV/gBIbkT32y2gesDpcnKYz/A68Py2oq/ibjPP06ARshKEwi8PWoFhoWYsoFi 8kiS2NMf+QB7uWunjApWwho3ICI+wFPOTlmPZ9wsItxLH27xlJkYYpwODwRSvbew2ZuAx/ 7v25x//QESIAUaD4ZQ4ea6kI/pbOfc4= Date: Fri, 9 Jun 2023 19:52:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1686354775; 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=FCKPXNbfuXiLkTq+8ViGBVnBlfhzGJ+dmPtv6KeJLyU=; b=q5Lowd7A0s9qPP8jzg8vr8fCvb8MAjYzkXWU/IngLXVc7DchIAX2RiPqlWPrRWHVuB4sjp Xpaon3ZIOCKUGHq0vCojG48qgKluyMDhIxhJ7WKAr9+umblXsFISgywWXr3Joy7DLDx4Nk LKv0l42RZQPJURcbW5Hrz/LInYL7yeE= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Kent Overstreet To: Christian Brauner Cc: Ariel Miculas , linux-fsdevel@vger.kernel.org, rust-for-linux@vger.kernel.org, linux-mm@kvack.org Subject: Re: [RFC PATCH 00/80] Rust PuzzleFS filesystem driver Message-ID: References: <20230609063118.24852-1-amiculas@cisco.com> <20230609-feldversuch-fixieren-fa141a2d9694@brauner> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230609-feldversuch-fixieren-fa141a2d9694@brauner> X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 7E26D40003 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: ohyst5bnk5hnik9ew9amguw63p6g6f5s X-HE-Tag: 1686354777-88824 X-HE-Meta: U2FsdGVkX1/dupcHGKdzkHbIeuJdxL0SWP25i1DRFapjt9Tekd6HyPUmYymElMqeOvrgJDJOjZ2uwXeh6/yk79Ga16Twr/YP4sxEj0Q+WPON2RixtjT3FL8VoH+N26c2hl5Z3CbsDUb0n36jLVsedRZFoPVcolPkNk8GZgzd/aI8hOmoqqdU7cv2SNzMRlJFpLOjGu7JPMPRDefIowpKY3MyqtzqGVGCbJXq2bjrIeUDqfvRvB5tt5D36XkjiAzmKmkqJTwDCaIp9s7rM5PKwoaUY1WOSBgI4Bi67TjiDd+cuTfePwrs2JVjLIjpvotu6Kymv85CjZvkhpVuKGmnFn2UwNlsVVP+U4GulMIw8vpnXXsNeHMOdSzQ5P6QTX98/xptva8rMzXQI2HmHoPuEQzYM8rhvz/8ueTcDwnBLD+j9fP7AigO3oKuWxyr2hFHVjYPzAjNb5VeAfXl4LihzQ0mKAn+xMT8FRxc5BdGiXlHVmrkBQMzg2gd0/Opnn8wrDPQ9BPHibLy8yQsE7MxpNsx9/lAYqQt06tmGyuO+WDjuda4o8MA367/UZR37DMziNkxUVu2bGkeAYy7OqZimHEfWmgnJTGuNuE4up/+6mzv/gbOXDTO542pW/GTvVUO88AqzIzqhuh1MCANwLdO1TQmkHaYRUJb7jRMZ69kazqmKxDkzjOcUIUKnfmrQDM7bEXmQdHDuCb4+GqT2Eecl/JS7pzabQ4JkB47vVUbeWtkYIwBv0YJKMQy8nQGfCi5o5xPgEC/GVTVanFlT3/fuY5BJ2N8v5HE6j1xFGibtAeMOS/kqPZeAOUlp5EZROZz8ayxIfwaUoLsULpW3OGEx1uAGsbRhUqmwVsf9BbYpfUaiIny/JGSYBU2vKtQTivJ00m56qWu+IWkmgHwoHBvQm2j6bRJeFsPfdP+qIs3y1YEiqM4XPXJMvVK/38hqNlriF1u29QqpeUh7xcEDal zzglfbJK lTSwfMWifTGMROVzR4Vf6f13fx38AioMSYaN0Jla1Dr8TEmI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Jun 09, 2023 at 12:36:29PM +0200, Christian Brauner wrote: > On Fri, Jun 09, 2023 at 09:29:58AM +0300, Ariel Miculas wrote: > > Hi all! > > > > This is a proof of concept driver written for the PuzzleFS > > Uhm, the PuzzleFS filesystem isn't actually sent to fsdevel? Yet I see > tons of patches in there that add wrappers to our core fs data > structures. I even see a ton of new files that all fall clearly into > fsdevel territory: > > create mode 100644 rust/kernel/cred.rs > create mode 100644 rust/kernel/delay.rs > create mode 100644 rust/kernel/driver.rs > create mode 100644 rust/kernel/file.rs > create mode 100644 rust/kernel/fs.rs > create mode 100644 rust/kernel/fs/param.rs > create mode 100644 rust/kernel/io_buffer.rs > create mode 100644 rust/kernel/iov_iter.rs > create mode 100644 rust/kernel/mm.rs > create mode 100644 rust/kernel/mount.rs > create mode 100644 rust/kernel/pages.rs > > There's also quite a lot of new mm/ in there, no? > > Any wrappers and code for core fs should be maintained as part of fs. > Rust shouldn't become a way to avoid our reviews once you have a few > wrappers added somewhere. I'm of the opinion that Rust wrappers should generally live in the same directories as the code they're wrapping. The Rust wrappers are unsafe code that is intimately coupled with the C code they're creating safe interfaces for, and the organizational structure should reflect that. This'll be particularly important when mixing Rust and C in the same module, as I intend to do in bcachefs in the not-too-distant future.