<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/fs/ext4, branch v2015.01-rc2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/fs/ext4?h=v2015.01-rc2</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/fs/ext4?h=v2015.01-rc2'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2014-11-23T11:49:04Z</updated>
<entry>
<title>fs: API changes enabling extra parameter to return size of type loff_t</title>
<updated>2014-11-23T11:49:04Z</updated>
<author>
<name>Suriyan Ramasami</name>
<email>suriyan.r@gmail.com</email>
</author>
<published>2014-11-17T22:39:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d455d8789d5b35a39a0a179b3af4b423db13bfdd'/>
<id>urn:sha1:d455d8789d5b35a39a0a179b3af4b423db13bfdd</id>
<content type='text'>
The sandbox/ext4/fat/generic fs commands do not gracefully deal with files
greater than 2GB. Negative values are returned in such cases.

To handle this, the fs functions have been modified to take an additional
parameter of type "* loff_t" which is then populated. The return value
of the fs functions are used only for error conditions.

Signed-off-by: Suriyan Ramasami &lt;suriyan.r@gmail.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
[trini: Update board/gdsys/p1022/controlcenterd-id.c,
drivers/fpga/zynqpl.c for changes]
Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</content>
</entry>
<entry>
<title>ext4: Prepare API change for files greater than 2GB</title>
<updated>2014-11-23T11:49:04Z</updated>
<author>
<name>Suriyan Ramasami</name>
<email>suriyan.r@gmail.com</email>
</author>
<published>2014-11-17T22:39:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9f12cd0e062614e19734b2ab37842d387457c5e5'/>
<id>urn:sha1:9f12cd0e062614e19734b2ab37842d387457c5e5</id>
<content type='text'>
Change the internal EXT4 functions to use loff_t for offsets.

Signed-off-by: Suriyan Ramasami &lt;suriyan.r@gmail.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
[trini: Update common/spl/spl_ext.c]
Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</content>
</entry>
<entry>
<title>fs: make it possible to read the filesystem UUID</title>
<updated>2014-11-23T11:49:01Z</updated>
<author>
<name>Christian Gmeiner</name>
<email>christian.gmeiner@gmail.com</email>
</author>
<published>2014-11-12T13:35:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=59e890ef7bf5b80d96802e115255f969491ef645'/>
<id>urn:sha1:59e890ef7bf5b80d96802e115255f969491ef645</id>
<content type='text'>
Some filesystems have a UUID stored in its superblock. To
allow using root=UUID=... for the kernel command line we
need a way to read-out the filesystem UUID.

changes rfc -&gt; v1:
 - make the environment variable an option parameter. If not
   given, the UUID is printed out. If given, it is stored in the env
   variable.
 - corrected typos
 - return error codes

changes v1 -&gt; v2:
 - fix return code of do_fs_uuid(..)
 - document do_fs_uuid(..)
 - implement fs_uuid_unsuported(..) be more consistent with the
   way other optional functionality works

changes v2 -&gt; v3:
 - change ext4fs_uuid(..) to make use of #if .. #else .. #endif
   construct to get rid of unreachable code

Hit any key to stop autoboot:  0
=&gt; fsuuid
fsuuid - Look up a filesystem UUID

Usage:
fsuuid &lt;interface&gt; &lt;dev&gt;:&lt;part&gt;
    - print filesystem UUID
fsuuid &lt;interface&gt; &lt;dev&gt;:&lt;part&gt; &lt;varname&gt;
    - set environment variable to filesystem UUID

=&gt; fsuuid mmc 0:1
d9f9fc05-45ae-4a36-a616-fccce0e4f887
=&gt; fsuuid mmc 0:2
eb3db83c-7b28-499f-95ce-9e0bb21cda81
=&gt; fsuuid mmc 0:1 uuid1
=&gt; fsuuid mmc 0:2 uuid2
=&gt; printenv uuid1
uuid1=d9f9fc05-45ae-4a36-a616-fccce0e4f887
=&gt; printenv uuid2
uuid2=eb3db83c-7b28-499f-95ce-9e0bb21cda81
=&gt;

Signed-off-by: Christian Gmeiner &lt;christian.gmeiner@gmail.com&gt;
Acked-by: Stephen Warren &lt;swarren@nvidia.com&gt;
</content>
</entry>
<entry>
<title>linux/kernel.h: sync min, max, min3, max3 macros with Linux</title>
<updated>2014-11-23T11:48:30Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.m@jp.panasonic.com</email>
</author>
<published>2014-11-06T18:03:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b41411954d4ccf6ddaa581178462017557b82b5d'/>
<id>urn:sha1:b41411954d4ccf6ddaa581178462017557b82b5d</id>
<content type='text'>
U-Boot has never cared about the type when we get max/min of two
values, but Linux Kernel does.  This commit gets min, max, min3, max3
macros synced with the kernel introducing type checks.

Many of references of those macros must be fixed to suppress warnings.
We have two options:
 - Use min, max, min3, max3 only when the arguments have the same type
   (or add casts to the arguments)
 - Use min_t/max_t instead with the appropriate type for the first
   argument

Signed-off-by: Masahiro Yamada &lt;yamada.m@jp.panasonic.com&gt;
Acked-by: Pavel Machek &lt;pavel@denx.de&gt;
Acked-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Tested-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
[trini: Fixup arch/blackfin/lib/string.c]
Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</content>
</entry>
<entry>
<title>ext4: Use inttypes for printf() string</title>
<updated>2014-10-27T15:04:01Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2014-10-15T10:38:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=aac618a32b89a3b753625cfa87aab815efd6f601'/>
<id>urn:sha1:aac618a32b89a3b753625cfa87aab815efd6f601</id>
<content type='text'>
On 64-bit platforms (like sandbox) 64-bit integers may be 'long' rather
than 'long long'. Use the inttypes header to avoid compiler warnings.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>kconfig: add blank Kconfig files</title>
<updated>2014-09-24T22:30:28Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.m@jp.panasonic.com</email>
</author>
<published>2014-09-16T07:32:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ed36323f6d217050f82a2200475959b8557a47e4'/>
<id>urn:sha1:ed36323f6d217050f82a2200475959b8557a47e4</id>
<content type='text'>
This would be useful to start moving various config options.

Signed-off-by: Masahiro Yamada &lt;yamada.m@jp.panasonic.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
Tested-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>fs: implement size/fatsize/ext4size</title>
<updated>2014-08-09T15:16:57Z</updated>
<author>
<name>Stephen Warren</name>
<email>swarren@nvidia.com</email>
</author>
<published>2014-06-11T18:47:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=cf6598193aed5de8855eaf70c1994f2bc437255a'/>
<id>urn:sha1:cf6598193aed5de8855eaf70c1994f2bc437255a</id>
<content type='text'>
These commands may be used to determine the size of a file without
actually reading the whole file content into memory. This may be used
to determine if the file will fit into the memory buffer that will
contain it. In particular, the DFU code will use it for this purpose
in the next commit.

Signed-off-by: Stephen Warren &lt;swarren@nvidia.com&gt;
</content>
</entry>
<entry>
<title>fs: ext4: fix writing zero-length files</title>
<updated>2014-06-19T15:18:53Z</updated>
<author>
<name>Stephen Warren</name>
<email>swarren@nvidia.com</email>
</author>
<published>2014-06-11T18:46:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d018028055a21a28adef16b7f95422c426b46d60'/>
<id>urn:sha1:d018028055a21a28adef16b7f95422c426b46d60</id>
<content type='text'>
ext4fs_allocate_blocks() always allocates at least one block for a file.
If the file size is zero, this causes total_remaining_blocks to
underflow, which then causes an apparent hang while 2^32 blocks are
allocated.

To solve this, check that total_remaining_blocks is non-zero as part of
the loop condition (i.e. before each loop) rather than at the end of
the loop.

Signed-off-by: Stephen Warren &lt;swarren@nvidia.com&gt;
</content>
</entry>
<entry>
<title>ext4: correctly zero filename</title>
<updated>2014-06-11T20:27:05Z</updated>
<author>
<name>Jeroen Hofstee</name>
<email>jeroen@myspectrum.nl</email>
</author>
<published>2014-06-09T13:29:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=46a5707d9c2eefa23e88f7c63999adb9190c5b46'/>
<id>urn:sha1:46a5707d9c2eefa23e88f7c63999adb9190c5b46</id>
<content type='text'>
Since ALLOC_CACHE_ALIGN_BUFFER declares a char* for filename
sizeof(filename) is not the size of the buffer. Use the already
known length instead.

cc: Uma Shankar &lt;uma.shankar@samsung.com&gt;
cc: Manjunatha C Achar &lt;a.manjunatha@samsung.com&gt;
cc: Marek Vasut &lt;marek.vasut@gmail.com&gt;
Signed-off-by: Jeroen Hofstee &lt;jeroen@myspectrum.nl&gt;
Acked-by: Marek Vasut &lt;marex@denx.de&gt;
</content>
</entry>
<entry>
<title>fs:ext4:write:fix: Reinitialize global variables after updating a file</title>
<updated>2014-05-12T20:31:50Z</updated>
<author>
<name>Łukasz Majewski</name>
<email>l.majewski@samsung.com</email>
</author>
<published>2014-05-06T07:36:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8b454eeeea0ba021ee27f3e103daf1f8fa87bd16'/>
<id>urn:sha1:8b454eeeea0ba021ee27f3e103daf1f8fa87bd16</id>
<content type='text'>
This bug shows up when file stored on the ext4 file system is updated.

The ext4fs_delete_file() is responsible for deleting file's (e.g. uImage)
data.
However some global data (especially ext4fs_indir2_block), which is used
during file deletion are left unchanged.

The ext4fs_indir2_block pointer stores reference to old ext4 double
indirect allocated blocks. When it is unchanged, after file deletion,
ext4fs_write_file() uses the same pointer (since it is already initialized
- i.e. not NULL) to return number of blocks to write. This trunks larger
file when previous one was smaller.

Lets consider following scenario:

1. Flash target with ext4 formatted boot.img (which has uImage [*] on itself)
2. Developer wants to upload their custom uImage [**]
	- When new uImage [**] is smaller than the [*] - everything works
	correctly - we are able to store the whole smaller file with corrupted
	ext4fs_indir2_block pointer
	- When new uImage [**] is larger than the [*] - theCRC is corrupted,
	since truncation on data stored at eMMC was done.
3. When uImage CRC error appears, then reboot and LTHOR/DFU reflashing causes
	proper setting of ext4fs_indir2_block() and after that uImage[**]
	is successfully stored (correct uImage [*] metadata is stored at an
	eMMC on the first flashing).

Due to above the bug was very difficult to reproduce.
This patch sets default values for all ext4fs_indir* pointers/variables.

Signed-off-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
</content>
</entry>
</feed>
