From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from blyat.fensystems.co.uk (blyat.fensystems.co.uk [54.246.183.96]) by mx.groups.io with SMTP id smtpd.web12.2470.1621898111910657223 for ; Mon, 24 May 2021 16:15:13 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: ipxe.org, ip: 54.246.183.96, mailfrom: mcb30@ipxe.org) Received: from dolphin.home (unknown [IPv6:2a00:23c6:5495:5e00:72b3:d5ff:feb1:e101]) by blyat.fensystems.co.uk (Postfix) with ESMTPSA id 515AA4411A; Mon, 24 May 2021 23:15:08 +0000 (UTC) Subject: Re: [edk2-devel] GSOC 2021 EXT4 driver Project To: devel@edk2.groups.io, pedro.falcato@gmail.com References: From: "Michael Brown" Message-ID: <1bac9489-2613-3fd4-15ba-a2ba8d69f54e@ipxe.org> Date: Tue, 25 May 2021 00:15:07 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on blyat.fensystems.co.uk Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit On 24/05/2021 20:26, Pedro Falcato wrote: > Me and my project have been selected for GSoC this year, under Michael > Kinney and bret. Thank you for the opportunity to collaborate with you > and improve Tianocore! > If anyone has any questions, please fire away :) > How do I get started? I'd like to find some easier tasks as to start > trying out patch submission and generally programming in a firmware > environment. > Also, I've been talking with my mentors and a relevant question to ask > the mailing list is: Where should we put the EXT4 driver? > Michael said there are other filesystems in MdeModulePkg, but it might > be getting too big and proposed the following options: > > 1) EXT4 in new package in edk2 repo as a peer to FatPkg. > 2) EXT4 in edk2 repo in MdeModulePkg > 3) EXT4 in edk2-platforms advanced feature package. > 4) EXT4 in edk2 advanced feature package FWIW, the most natural positioning seems to me to be as a separate Ext4Pkg similar to FatPkg. For the sake of your own sanity, you probably want to start by maintaining Ext4Pkg as a completely standalone git repo that you happen to place within your local edk2 checkout directory. This will let you develop in isolation without worrying about where the code will eventually live, at least until the code has reached a state of maturity that makes it worth considering its eventual home. Keeping it in a separate Ext4Pkg repo will also enforce some level of discipline on your coding: you'll naturally avoid being tempted into letting your development work leak outside of Ext4Pkg into other packages. In terms of questions, there are two that immediately spring to mind: - Are you planning on making this read-only, or read-write? - If you're planning on making it read-write: what simplifications will you be able to make to the write path in the UEFI environment? (UEFI is basically a single-user environment in which all filesystem writes should be flushed immediately: you may want to consider a simplified write path that never uses journalling, for example). HTH, Michael