From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Wed, 3 Apr 2013 16:40:02 -0400 Subject: [U-Boot] [PATCH v11 1/2] Introduced btrfs file-system with btrload command In-Reply-To: <20130403201402.95C014618DA@ducie-dc1.codethink.co.uk> References: <20130403201402.95C014618DA@ducie-dc1.codethink.co.uk> Message-ID: <515C93A2.5070401@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 04/03/2013 04:14 PM, adnan.ali at codethink.co.uk wrote: > > > Sent from my HTC > > ----- Reply message ----- From: "Tom Rini" To: > "Adnan Ali" Cc: > Subject: [U-Boot] [PATCH v11 1/2] Introduced btrfs file-system > with btrload command Date: Wed, Apr 3, 2013 7:04 pm > > > -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > > On 04/03/2013 01:30 PM, Adnan Ali wrote: >> On 03/04/13 17:50, Tom Rini wrote: >>> On Tue, Apr 02, 2013 at 03:17:38PM +0100, Adnan Ali wrote: >>> >>>> Introduces btrfs file-system to read file from >>>> volume/sub-volumes with btrload command. This implementation >>>> has read-only support. This btrfs implementation is based on >>>> syslinux btrfs code, commit >>>> 269ebc845ebc8b46ef4b0be7fa0005c7fdb95b8d. >>>> >>>> v11: Mirro super block check. v10: patch problem >>>> reworked. v5: merged with master. v4: btrls >>>> command added. >>>> >>>> Signed-off-by: Adnan Ali >>> With ELDK 5.3 toolchain, I see: btrfs.c: In function >>> 'insert_map': btrfs.c:144:4: warning: implicit declaration of >>> function 'malloc' [-Wimplicit-function-declaration] btrfs.c: >>> In function 'btrfs_read_super_block': btrfs.c:281:5: warning: >>> unused variable 'boots' [-Wunused-variable] btrfs.c:279:6: >>> warning: unused variable 'ret' [-Wunused-variable] btrfs.c: In >>> function 'btrfs_read_chunk_tree': btrfs.c:507:4: warning: >>> format '%d' expects argument of type 'int', but argument 2 has >>> type 'uint64_t' [-Wformat] btrfs.c:503:6: warning: unused >>> variable 'status' [-Wunused-variable] btrfs.c: In function >>> 'btrfs_iget_by_inr': btrfs.c:563:24: warning: dereferencing >>> type-punned pointer will break strict-aliasing rules >>> [-Wstrict-aliasing] btrfs.c:583:26: warning: dereferencing >>> type-punned pointer will break strict-aliasing rules >>> [-Wstrict-aliasing] btrfs.c:591:3: warning: dereferencing >>> type-punned pointer will break strict-aliasing rules >>> [-Wstrict-aliasing] btrfs.c: In function 'btrfs_iget': >>> btrfs.c:607:26: warning: initialization from incompatible >>> pointer type [enabled by default] btrfs.c:621:22: warning: >>> dereferencing type-punned pointer will break strict-aliasing >>> rules [-Wstrict-aliasing] btrfs.c: In function >>> 'btrfs_readlink': btrfs.c:628:34: warning: dereferencing >>> type-punned pointer will break strict-aliasing rules >>> [-Wstrict-aliasing] btrfs.c:629:21: warning: dereferencing >>> type-punned pointer will break strict-aliasing rules >>> [-Wstrict-aliasing] btrfs.c: In function 'btrfs_readdir': >>> btrfs.c:637:26: warning: initialization from incompatible >>> pointer type [enabled by default] btrfs.c: In function >>> 'btrfs_next_extent': btrfs.c:682:26: warning: initialization >>> from incompatible pointer type [enabled by default] >>> btrfs.c:695:25: warning: dereferencing type-punned pointer will >>> break strict-aliasing rules [-Wstrict-aliasing] btrfs.c:720:2: >>> warning: dereferencing type-punned pointer will break >>> strict-aliasing rules [-Wstrict-aliasing] btrfs.c: In function >>> 'btrfs_getfssec': btrfs.c:729:26: warning: initialization from >>> incompatible pointer type [enabled by default] btrfs.c:730:12: >>> warning: dereferencing type-punned pointer will break >>> strict-aliasing rules [-Wstrict-aliasing] btrfs.c:741:8: >>> warning: dereferencing type-punned pointer will break >>> strict-aliasing rules [-Wstrict-aliasing] btrfs.c:729:21: >>> warning: unused variable 'fs' [-Wunused-variable] btrfs.c: In >>> function 'put_inode': btrfs.c:844:4: warning: implicit >>> declaration of function 'free' >>> [-Wimplicit-function-declaration] btrfs.c: In function >>> 'alloc_inode': btrfs.c:854:24: warning: initialization makes >>> pointer from integer without a cast [enabled by default] >>> btrfs.c:857:13: warning: assignment from incompatible pointer >>> type [enabled by default] btrfs.c: In function >>> 'btrfs_open_file': btrfs.c:952:2: warning: implicit >>> declaration of function 'searchdir' >>> [-Wimplicit-function-declaration] btrfs.c: In function >>> 'searchdir': btrfs.c:1029:14: warning: assignment makes pointer >>> from integer without a cast [enabled by default] >>> btrfs.c:1058:17: warning: pointer targets in assignment differ >>> in signedness [-Wpointer-sign] btrfs.c: In function 'getfssec': >>> btrfs.c:1114:11: warning: unused variable 'handle' >>> [-Wunused-variable] btrfs.c: In function 'generic_getfssec': >>> btrfs.c:1132:26: warning: initialization from incompatible >>> pointer type [enabled by default] btrfs.c:1132:21: warning: >>> unused variable 'fs' [-Wunused-variable] fs.c:97:3: warning: >>> initialization from incompatible pointer type [enabled by >>> default] fs.c:97:3: warning: (near initialization for >>> 'fstypes[2].ls') [enabled by default] >>> >>> And with ELDK 4.2: btrfs.c: In function 'insert_map': >>> btrfs.c:144: warning: implicit declaration of function 'malloc' >>> btrfs.c: In function 'btrfs_read_super_block': btrfs.c:281: >>> warning: unused variable 'boots' btrfs.c:279: warning: unused >>> variable 'ret' btrfs.c: In function 'btrfs_read_chunk_tree': >>> btrfs.c:507: warning: format '%d' expects type 'int', but >>> argument 2 has type 'uint64_t' btrfs.c:503: warning: unused >>> variable 'status' btrfs.c: In function 'btrfs_iget': >>> btrfs.c:607: warning: initialization from incompatible pointer >>> type btrfs.c: In function 'btrfs_readdir': btrfs.c:637: >>> warning: initialization from incompatible pointer type btrfs.c: >>> In function 'btrfs_next_extent': btrfs.c:682: warning: >>> initialization from incompatible pointer type btrfs.c: In >>> function 'btrfs_getfssec': btrfs.c:729: warning: initialization >>> from incompatible pointer type btrfs.c:729: warning: unused >>> variable 'fs' btrfs.c: In function 'put_inode': btrfs.c:844: >>> warning: implicit declaration of function 'free' btrfs.c: In >>> function 'alloc_inode': btrfs.c:854: warning: initialization >>> makes pointer from integer without a cast btrfs.c:857: warning: >>> assignment from incompatible pointer type btrfs.c: In function >>> 'btrfs_open_file': btrfs.c:952: warning: implicit declaration >>> of function 'searchdir' btrfs.c: In function 'searchdir': >>> btrfs.c:1029: warning: assignment makes pointer from integer >>> without a cast btrfs.c:1058: warning: pointer targets in >>> assignment differ in signedness btrfs.c: In function >>> 'getfssec': btrfs.c:1114: warning: unused variable 'handle' >>> btrfs.c: In function 'generic_getfssec': btrfs.c:1132: warning: >>> initialization from incompatible pointer type btrfs.c:1132: >>> warning: unused variable 'fs' fs.c:97: warning: initialization >>> from incompatible pointer type >>> >>> Please fix. I can test ELDK 4.2 if you fix the ELDK 5.3 >>> warnings (which also show up with other toolchains). >>> >> But initially you said you will do it. But ok > > Sorry I was unclear. I said I would take care of the fact that > you're duplicating syslinux's generic inode structure as well > inside of the btrfs code as U-Boot is bad in this regard and > doesn't have a generic inode struct that filesystems can work from > (and all filesystems do something like this), as a later cleanup. > > Does this means you will take care of all warnings. So is this > ready to be accepted.;) No, it means you need to fix the warnings in the code as-is (as many of them are unrelated to what I'm talking about) and at a future point in time I will clean up the generic problem of a lack of a struct inode (and a few other things) in that all filesystems can make use of. - -- Tom -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJRXJOiAAoJENk4IS6UOR1WBs0P/1GOPFu8Dk5jT6+flJhiYnu6 4sNiBqqk2M1L07aTK2EdFMrRn14ogQ1vC8hVyDtMeHMD5ElZH4/LYeC+l5qNTan9 t0W0eSndIRV6ZF4M42eN7zS6jqJ9lSj18R1aLiLNOsGxaFVLp7ndZumI2WHPWcBX y+8dnkI1TFosfckNCBclk3IZXDrQBXiwC36uuN6Lw0mCAsrvaIGOegC6jRwG4xC7 G9zs1JHGwTSycLxXGIP+DGU0Vilr7jnaWfMG1eYJpEkW4fwB5DW9TehRNRMhsxpV mlSXSKx5YJRAQWvn2qwMzeO5kaFzmcgFC2wUgy3hEACYuakfsQq7/hWhUz//0U2s Y13uFJJRf1mf4JPZh2OfsZ45sqXnAWlDuKmI42u8QHO3k/LmdL4Kfa03KDkDFmFi kWWlJWrpxRphOKezKUPshc0z5zqaJBujClD8eLHnxkIN+qKSCtGap046xXtqrDUf pHAUURbKv5X0auia6VLAhu6mXiAZqMSOyjgQcn92e6H4OLCEFldffamW8TEKmWf5 vcvEHoP+OnetGxztkzfEXl+VxySAzvhiqO2qfvL2lCWVlr4lsVv+huMeDN3b4WDN 0Ce/BZTKwigF3QchqbxSD0vxL9e3F5utOl1QjUWnNmx85aA1IN731tAGOS3brSKx 89FGOgFzhbQQ+GzZUyvC =GLbO -----END PGP SIGNATURE-----