<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/jffs2/build.c, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-04-01T00:54:35Z</updated>
<entry>
<title>Fix directory hardlinks from deleted directories</title>
<updated>2016-04-01T00:54:35Z</updated>
<author>
<name>David Woodhouse</name>
</author>
<published>2016-02-01T14:04:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bb96b5354a62154d0aca4b2015a5b3eee68a4ac5'/>
<id>urn:sha1:bb96b5354a62154d0aca4b2015a5b3eee68a4ac5</id>
<content type='text'>
commit be629c62a603e5935f8177fd8a19e014100a259e upstream.

When a directory is deleted, we don't take too much care about killing off
all the dirents that belong to it — on the basis that on remount, the scan
will conclude that the directory is dead anyway.

This doesn't work though, when the deleted directory contained a child
directory which was moved *out*. In the early stages of the fs build
we can then end up with an apparent hard link, with the child directory
appearing both in its true location, and as a child of the original
directory which are this stage of the mount process we don't *yet* know
is defunct.

To resolve this, take out the early special-casing of the "directories
shall not have hard links" rule in jffs2_build_inode_pass1(), and let the
normal nlink processing happen for directories as well as other inodes.

Then later in the build process we can set ic-&gt;pino_nlink to the parent
inode#, as is required for directories during normal operaton, instead
of the nlink. And complain only *then* about hard links which are still
in evidence even after killing off all the unreachable paths.

Reported-by: Liu Song &lt;liu.song11@zte.com.cn&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>jffs2: use vzalloc</title>
<updated>2010-12-03T16:27:34Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2010-11-05T03:08:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ddbead6e6d3c730570a215ab9a6b1d126c54d34'/>
<id>urn:sha1:7ddbead6e6d3c730570a215ab9a6b1d126c54d34</id>
<content type='text'>
Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@nokia.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>jffs2: Dynamically choose inocache hash size</title>
<updated>2010-10-24T23:57:19Z</updated>
<author>
<name>Daniel Drake</name>
</author>
<published>2010-10-07T18:14:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65e5a0e18e5fb5bc6cfabd8ef4b9fc1c8569ba62'/>
<id>urn:sha1:65e5a0e18e5fb5bc6cfabd8ef4b9fc1c8569ba62</id>
<content type='text'>
When JFFS2 is used for large volumes, the mount times are quite long.
Increasing the hash size provides a significant speed boost on the OLPC
XO-1 laptop.

Add logic that dynamically selects a hash size based on the size of
the medium. A 64mb medium will result in a hash size of 128, and a 512mb
medium will result in a hash size of 1024.

Signed-off-by: Daniel Drake &lt;dsd@laptop.org&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>jffs2: Update copyright notices</title>
<updated>2010-08-08T13:15:22Z</updated>
<author>
<name>David Woodhouse</name>
</author>
<published>2010-08-08T13:15:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6088c0587706b2cf21ce50c11576718bff5fae0c'/>
<id>urn:sha1:6088c0587706b2cf21ce50c11576718bff5fae0c</id>
<content type='text'>
Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
</entry>
<entry>
<title>[JFFS2] Track parent inode for directories (for NFS export)</title>
<updated>2008-05-01T17:47:17Z</updated>
<author>
<name>David Woodhouse</name>
</author>
<published>2008-05-01T17:47:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=27c72b040c0be8f3704ed0b6b84c12cbba24a7e8'/>
<id>urn:sha1:27c72b040c0be8f3704ed0b6b84c12cbba24a7e8</id>
<content type='text'>
To support NFS export, we need to know the parent inode of directories.
Rather than growing the jffs2_inode_cache structure, share space with
the nlink field -- which was always set to 1 for directories anyway.

Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
</entry>
<entry>
<title>[JFFS2] Add erase_checking_list to hold blocks being marked.</title>
<updated>2008-04-23T13:15:24Z</updated>
<author>
<name>David Woodhouse</name>
</author>
<published>2008-04-23T13:15:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e2bc322bf05936ec7160d62bc3fd45cbf4aa405a'/>
<id>urn:sha1:e2bc322bf05936ec7160d62bc3fd45cbf4aa405a</id>
<content type='text'>
Just to keep the debug code happy when it's adding all the blocks up.
Otherwise, they disappear for a while while the locks are dropped to
check them and write the cleanmarker.

Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
</entry>
<entry>
<title>[JFFS2] Relax threshold for triggering GC due to dirty blocks.</title>
<updated>2007-10-13T10:29:07Z</updated>
<author>
<name>David Woodhouse</name>
</author>
<published>2007-10-13T10:29:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85becc535b7f33be5aefdb8ecea9fac4998e4b6f'/>
<id>urn:sha1:85becc535b7f33be5aefdb8ecea9fac4998e4b6f</id>
<content type='text'>
Instead of matching resv_blocks_gcmerge, which is only about 3, instead
match resv_blocks_gctrigger, which includes a proportion of the total
device size.

These ought to become tunable from userspace, at some point.

Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
</entry>
<entry>
<title>[JFFS2] Trigger garbage collection when very_dirty_list size becomes excessive</title>
<updated>2007-10-06T19:12:58Z</updated>
<author>
<name>David Woodhouse</name>
</author>
<published>2007-10-06T19:12:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8fb870df5a1f261294b833dd807bcba3bacface6'/>
<id>urn:sha1:8fb870df5a1f261294b833dd807bcba3bacface6</id>
<content type='text'>
With huge amounts of free space, we weren't bothering to GC for while a
while, and pathological numbers of obsolete nodes were accumulating,
seriously affecting performance on NAND flash (OLPC trac #3978)

Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
</entry>
<entry>
<title>[JFFS2] Tidy up licensing/copyright boilerplate.</title>
<updated>2007-04-25T13:16:47Z</updated>
<author>
<name>David Woodhouse</name>
</author>
<published>2007-04-25T13:16:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c00c310eac04a28d2143368ae988716792ed53ce'/>
<id>urn:sha1:c00c310eac04a28d2143368ae988716792ed53ce</id>
<content type='text'>
In particular, remove the bit in the LICENCE file about contacting
Red Hat for alternative arrangements. Their errant IS department broke
that arrangement a long time ago -- the policy of collecting copyright
assignments from contributors came to an end when the plug was pulled on
the servers hosting the project, without notice or reason.

We do still dual-license it for use with eCos, with the GPL+exception
licence approved by the FSF as being GPL-compatible. It's just that nobody
has the right to license it differently.

Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
</entry>
<entry>
<title>JFFS2: memory leak in jffs2_do_mount_fs()</title>
<updated>2007-02-09T15:00:21Z</updated>
<author>
<name>Dmitry Adamushko</name>
</author>
<published>2007-01-19T00:20:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cfa72397cf3a15f2841447440fd53980b3ecd624'/>
<id>urn:sha1:cfa72397cf3a15f2841447440fd53980b3ecd624</id>
<content type='text'>
If  jffs2_sum_init()  fails,  c-&gt;blocks is not freed neither in
jffs2_do_mount_fs() nor in jffs2_do_fill_super().

Signed-off-by: Dmitry Adamushko &lt;dmitry.adamushko@gmail.com&gt;
Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
</entry>
</feed>
