From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1aXv7X-0003Tv-Hb for mharc-grub-devel@gnu.org; Mon, 22 Feb 2016 13:22:07 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58692) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXv7U-0003TO-M1 for grub-devel@gnu.org; Mon, 22 Feb 2016 13:22:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aXv7R-0000fe-Uk for grub-devel@gnu.org; Mon, 22 Feb 2016 13:22:04 -0500 Received: from mail.kernel.org ([198.145.29.136]:46449) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXv7R-0000fY-NK for grub-devel@gnu.org; Mon, 22 Feb 2016 13:22:01 -0500 Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 27D70203B0; Mon, 22 Feb 2016 18:21:51 +0000 (UTC) Received: from localhost (107-1-141-74-ip-static.hfc.comcastbusiness.net [107.1.141.74]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C06E8204AE; Mon, 22 Feb 2016 18:21:41 +0000 (UTC) Date: Mon, 22 Feb 2016 10:21:49 -0800 From: Jaegeuk Kim To: Andrei Borzenkov Subject: Re: [f2fs-dev] [PATCH v6] F2FS support Message-ID: <20160222182149.GC10875@jaegeuk.gateway> References: <1427185140-41120-1-git-send-email-jaegeuk@kernel.org> <20150403224908.GB25673@jaegeuk-mac02.mot.com> <20151119212824.GA11666@jaegeuk.local> <566E7DAA.4010202@gmail.com> <20151215003421.GD48918@jaegeuk.local> <20151215181439.GA60773@jaegeuk.local> <20160108194132.GA17464@jaegeuk.aosp> <56CAD406.3030508@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <56CAD406.3030508@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Virus-Scanned: ClamAV using ClamSMTP Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 198.145.29.136 Cc: The development of GNU GRUB , linux-f2fs-devel@lists.sourceforge.net X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Feb 2016 18:22:05 -0000 Hi Andrei, I'll send v7 which addresses your comment. Thanks, On Mon, Feb 22, 2016 at 12:25:26PM +0300, Andrei Borzenkov wrote: > 08.01.2016 22:41, Jaegeuk Kim =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > > Change log from v5: > > o fix build warning for ARM, reported by Michael Zimmermann > >=20 > > Thanks to Michael for testing this patch. > >=20 > > -- >8 -- > > From 284fd66662a6d5e07770cc021c8f59b538471c35 Mon Sep 17 00:00:00 200= 1 > > From: Jaegeuk Kim > > Date: Tue, 17 Nov 2015 12:45:13 -0800 > > Subject: [PATCH] F2FS support > >=20 > > "F2FS (Flash-Friendly File System) is flash-friendly file system whic= h was merged > > into Linux kernel v3.8 in 2013. > >=20 > > The motive for F2FS was to build a file system that from the start, t= akes into > > account the characteristics of NAND flash memory-based storage device= s (such as > > solid-state disks, eMMC, and SD cards). > >=20 > > F2FS was designed on a basis of a log-structured file system approach= , which > > remedies some known issues of the older log structured file systems, = such as > > the snowball effect of wandering trees and high cleaning overhead. In= addition, > > since a NAND-based storage device shows different characteristics acc= ording to > > its internal geometry or flash memory management scheme (such as the = Flash > > Translation Layer or FTL), it supports various parameters not only fo= r > > configuring on-disk layout, but also for selecting allocation and cle= aning > > algorithm.", quote by https://en.wikipedia.org/wiki/F2FS. > >=20 > > The source codes for F2FS are available from: > >=20 > > http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs.git > > http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git > >=20 >=20 > Sorry for delay. I'm fine with it (with single nitpick, see below); > Vladimir has final word whether this can be committed. > ... >=20 > > +static grub_ssize_t > > +grub_f2fs_read_file (grub_fshelp_node_t node, > > + grub_disk_read_hook_t read_hook, void *read_hook_data, > > + grub_off_t pos, grub_size_t len, char *buf) > > +{ > > + struct grub_f2fs_inode *inode =3D &node->inode.i; > > + grub_off_t filesize =3D grub_f2fs_file_size (inode); > > + char *inline_addr =3D __inline_addr (inode); > > + > > + if (inode->i_inline & F2FS_INLINE_DATA) > > + { > > + if (pos > filesize || filesize > MAX_INLINE_DATA) >=20 > GRUB checks that pos < filesize before calling into fs so this is > redundant. And filesize check is static so can be done in ->open. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jaegeuk Kim Subject: Re: [f2fs-dev] [PATCH v6] F2FS support Date: Mon, 22 Feb 2016 10:21:49 -0800 Message-ID: <20160222182149.GC10875@jaegeuk.gateway> References: <1427185140-41120-1-git-send-email-jaegeuk@kernel.org> <20150403224908.GB25673@jaegeuk-mac02.mot.com> <20151119212824.GA11666@jaegeuk.local> <566E7DAA.4010202@gmail.com> <20151215003421.GD48918@jaegeuk.local> <20151215181439.GA60773@jaegeuk.local> <20160108194132.GA17464@jaegeuk.aosp> <56CAD406.3030508@gmail.com> Reply-To: The development of GNU GRUB Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <56CAD406.3030508@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: grub-devel-bounces+gcbgd-grub-devel=m.gmane.org@gnu.org Sender: grub-devel-bounces+gcbgd-grub-devel=m.gmane.org@gnu.org To: Andrei Borzenkov Cc: The development of GNU GRUB , linux-f2fs-devel@lists.sourceforge.net List-Id: linux-f2fs-devel.lists.sourceforge.net SGkgQW5kcmVpLAoKSSdsbCBzZW5kIHY3IHdoaWNoIGFkZHJlc3NlcyB5b3VyIGNvbW1lbnQuCgpU aGFua3MsCgpPbiBNb24sIEZlYiAyMiwgMjAxNiBhdCAxMjoyNToyNlBNICswMzAwLCBBbmRyZWkg Qm9yemVua292IHdyb3RlOgo+IDA4LjAxLjIwMTYgMjI6NDEsIEphZWdldWsgS2ltINC/0LjRiNC1 0YI6Cj4gPiBDaGFuZ2UgbG9nIGZyb20gdjU6Cj4gPiAgbyBmaXggYnVpbGQgd2FybmluZyBmb3Ig QVJNLCByZXBvcnRlZCBieSBNaWNoYWVsIFppbW1lcm1hbm4KPiA+IAo+ID4gVGhhbmtzIHRvIE1p Y2hhZWwgZm9yIHRlc3RpbmcgdGhpcyBwYXRjaC4KPiA+IAo+ID4gLS0gPjggLS0KPiA+IEZyb20g Mjg0ZmQ2NjY2MmE2ZDVlMDc3NzBjYzAyMWM4ZjU5YjUzODQ3MWMzNSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKPiA+IEZyb206IEphZWdldWsgS2ltIDxqYWVnZXVrQGtlcm5lbC5vcmc+Cj4gPiBE YXRlOiBUdWUsIDE3IE5vdiAyMDE1IDEyOjQ1OjEzIC0wODAwCj4gPiBTdWJqZWN0OiBbUEFUQ0hd IEYyRlMgc3VwcG9ydAo+ID4gCj4gPiAiRjJGUyAoRmxhc2gtRnJpZW5kbHkgRmlsZSBTeXN0ZW0p IGlzIGZsYXNoLWZyaWVuZGx5IGZpbGUgc3lzdGVtIHdoaWNoIHdhcyBtZXJnZWQKPiA+IGludG8g TGludXgga2VybmVsIHYzLjggaW4gMjAxMy4KPiA+IAo+ID4gVGhlIG1vdGl2ZSBmb3IgRjJGUyB3 YXMgdG8gYnVpbGQgYSBmaWxlIHN5c3RlbSB0aGF0IGZyb20gdGhlIHN0YXJ0LCB0YWtlcyBpbnRv Cj4gPiBhY2NvdW50IHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgTkFORCBmbGFzaCBtZW1vcnktYmFz ZWQgc3RvcmFnZSBkZXZpY2VzIChzdWNoIGFzCj4gPiBzb2xpZC1zdGF0ZSBkaXNrcywgZU1NQywg YW5kIFNEIGNhcmRzKS4KPiA+IAo+ID4gRjJGUyB3YXMgZGVzaWduZWQgb24gYSBiYXNpcyBvZiBh IGxvZy1zdHJ1Y3R1cmVkIGZpbGUgc3lzdGVtIGFwcHJvYWNoLCB3aGljaAo+ID4gcmVtZWRpZXMg c29tZSBrbm93biBpc3N1ZXMgb2YgdGhlIG9sZGVyIGxvZyBzdHJ1Y3R1cmVkIGZpbGUgc3lzdGVt cywgc3VjaCBhcwo+ID4gdGhlIHNub3diYWxsIGVmZmVjdCBvZiB3YW5kZXJpbmcgdHJlZXMgYW5k IGhpZ2ggY2xlYW5pbmcgb3ZlcmhlYWQuIEluIGFkZGl0aW9uLAo+ID4gc2luY2UgYSBOQU5ELWJh c2VkIHN0b3JhZ2UgZGV2aWNlIHNob3dzIGRpZmZlcmVudCBjaGFyYWN0ZXJpc3RpY3MgYWNjb3Jk aW5nIHRvCj4gPiBpdHMgaW50ZXJuYWwgZ2VvbWV0cnkgb3IgZmxhc2ggbWVtb3J5IG1hbmFnZW1l bnQgc2NoZW1lIChzdWNoIGFzIHRoZSBGbGFzaAo+ID4gVHJhbnNsYXRpb24gTGF5ZXIgb3IgRlRM KSwgaXQgc3VwcG9ydHMgdmFyaW91cyBwYXJhbWV0ZXJzIG5vdCBvbmx5IGZvcgo+ID4gY29uZmln dXJpbmcgb24tZGlzayBsYXlvdXQsIGJ1dCBhbHNvIGZvciBzZWxlY3RpbmcgYWxsb2NhdGlvbiBh bmQgY2xlYW5pbmcKPiA+IGFsZ29yaXRobS4iLCBxdW90ZSBieSBodHRwczovL2VuLndpa2lwZWRp YS5vcmcvd2lraS9GMkZTLgo+ID4gCj4gPiBUaGUgc291cmNlIGNvZGVzIGZvciBGMkZTIGFyZSBh dmFpbGFibGUgZnJvbToKPiA+IAo+ID4gaHR0cDovL2dpdC5rZXJuZWwub3JnL2NnaXQvbGludXgv a2VybmVsL2dpdC9qYWVnZXVrL2YyZnMuZ2l0Cj4gPiBodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvY2dp dC9saW51eC9rZXJuZWwvZ2l0L2phZWdldWsvZjJmcy10b29scy5naXQKPiA+IAo+IAo+IFNvcnJ5 IGZvciBkZWxheS4gSSdtIGZpbmUgd2l0aCBpdCAod2l0aCBzaW5nbGUgbml0cGljaywgc2VlIGJl bG93KTsKPiBWbGFkaW1pciBoYXMgZmluYWwgd29yZCB3aGV0aGVyIHRoaXMgY2FuIGJlIGNvbW1p dHRlZC4KPiAuLi4KPiAKPiA+ICtzdGF0aWMgZ3J1Yl9zc2l6ZV90Cj4gPiArZ3J1Yl9mMmZzX3Jl YWRfZmlsZSAoZ3J1Yl9mc2hlbHBfbm9kZV90IG5vZGUsCj4gPiArCQlncnViX2Rpc2tfcmVhZF9o b29rX3QgcmVhZF9ob29rLCB2b2lkICpyZWFkX2hvb2tfZGF0YSwKPiA+ICsJCWdydWJfb2ZmX3Qg cG9zLCBncnViX3NpemVfdCBsZW4sIGNoYXIgKmJ1ZikKPiA+ICt7Cj4gPiArICBzdHJ1Y3QgZ3J1 Yl9mMmZzX2lub2RlICppbm9kZSA9ICZub2RlLT5pbm9kZS5pOwo+ID4gKyAgZ3J1Yl9vZmZfdCBm aWxlc2l6ZSA9IGdydWJfZjJmc19maWxlX3NpemUgKGlub2RlKTsKPiA+ICsgIGNoYXIgKmlubGlu ZV9hZGRyID0gX19pbmxpbmVfYWRkciAoaW5vZGUpOwo+ID4gKwo+ID4gKyAgaWYgKGlub2RlLT5p X2lubGluZSAmIEYyRlNfSU5MSU5FX0RBVEEpCj4gPiArICAgIHsKPiA+ICsgICAgICBpZiAocG9z ID4gZmlsZXNpemUgfHwgZmlsZXNpemUgPiBNQVhfSU5MSU5FX0RBVEEpCj4gCj4gR1JVQiBjaGVj a3MgdGhhdCBwb3MgPCBmaWxlc2l6ZSBiZWZvcmUgY2FsbGluZyBpbnRvIGZzIHNvIHRoaXMgaXMK PiByZWR1bmRhbnQuIEFuZCBmaWxlc2l6ZSBjaGVjayBpcyBzdGF0aWMgc28gY2FuIGJlIGRvbmUg aW4gLT5vcGVuLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlz dHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK