<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/jffs2/super.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>2011-10-19T14:22:21Z</updated>
<entry>
<title>jffs2: add compr=lzo and compr=zlib options</title>
<updated>2011-10-19T14:22:21Z</updated>
<author>
<name>Andres Salomon</name>
</author>
<published>2011-10-17T01:15:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=123005f3ccfa58637ad6e1a8b9f7f3f861ca65f4'/>
<id>urn:sha1:123005f3ccfa58637ad6e1a8b9f7f3f861ca65f4</id>
<content type='text'>
..to allow forcing of either compression scheme.  This will override
compiled-in defaults.  jffs2_compress is reworked a bit, as the lzo/zlib
override shares lots of code w/ the PRIORITY mode.

v2: update show_options accordingly.

Signed-off-by: Andres Salomon &lt;dilinger@queued.net&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@intel.com&gt;
</content>
</entry>
<entry>
<title>jffs2: implement mount option parsing and compression overriding</title>
<updated>2011-10-19T14:22:20Z</updated>
<author>
<name>Andres Salomon</name>
</author>
<published>2011-10-17T01:15:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=92abc475d8de1c29373f6d96ed63d8ecaa199d25'/>
<id>urn:sha1:92abc475d8de1c29373f6d96ed63d8ecaa199d25</id>
<content type='text'>
Currently jffs2 has compile-time constants (and .config options)
controlling whether or not the various compression/decompression
drivers are built in and enabled.  This is fine for embedded
systems, but it clashes with distribution kernels.  Distro kernels
tend to turn on everything; this causes OpenFirmware to fall
over, as it understands ZLIB-compressed inodes.  Booting a kernel
that has LZO compression enabled, writing to the boot partition,
and then rebooting causes OFW to fail to read the kernel from
the filesystem.  This is because LZO compression has priority
when writing new data to jffs2, if LZO is enabled.

This patch adds mount option parsing, and a single supported
option ("compr=none").  This adds the flexibility of being
able to specify which compressor overrides on a per-superblock
basis.  For now, we can simply disable compression;
additional flexibility coming soon.

v2: kill some printks, and implement show_options as suggested
by Artem Bityutskiy.

Signed-off-by: Andres Salomon &lt;dilinger@queued.net&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@intel.com&gt;
</content>
</entry>
<entry>
<title>fs: icache RCU free inodes</title>
<updated>2011-01-07T06:50:26Z</updated>
<author>
<name>Nick Piggin</name>
</author>
<published>2011-01-07T06:49:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9'/>
<id>urn:sha1:fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9</id>
<content type='text'>
RCU free the struct inode. This will allow:

- Subsequent store-free path walking patch. The inode must be consulted for
  permissions when walking, so an RCU inode reference is a must.
- sb_inode_list_lock to be moved inside i_lock because sb list walkers who want
  to take i_lock no longer need to take sb_inode_list_lock to walk the list in
  the first place. This will simplify and optimize locking.
- Could remove some nested trylock loops in dcache code
- Could potentially simplify things a bit in VM land. Do not need to take the
  page lock to follow page-&gt;mapping.

The downsides of this is the performance cost of using RCU. In a simple
creat/unlink microbenchmark, performance drops by about 10% due to inability to
reuse cache-hot slab objects. As iterations increase and RCU freeing starts
kicking over, this increases to about 20%.

In cases where inode lifetimes are longer (ie. many inodes may be allocated
during the average life span of a single inode), a lot of this cache reuse is
not applicable, so the regression caused by this patch is smaller.

The cache-hot regression could largely be avoided by using SLAB_DESTROY_BY_RCU,
however this adds some complexity to list walking and store-free path walking,
so I prefer to implement this at a later date, if it is shown to be a win in
real situations. I haven't found a regression in any non-micro benchmark so I
doubt it will be a problem.

Signed-off-by: Nick Piggin &lt;npiggin@kernel.dk&gt;
</content>
</entry>
<entry>
<title>convert get_sb_mtd() users to -&gt;mount()</title>
<updated>2010-10-29T08:16:26Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2010-07-24T20:56:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=848b83a59b772b8f102bc5e3f1187c2fa5676959'/>
<id>urn:sha1:848b83a59b772b8f102bc5e3f1187c2fa5676959</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>BKL: Remove BKL from jffs2</title>
<updated>2010-10-04T19:10:50Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2010-09-16T14:11:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a028dd2dd589c3924d9711a1b073a13c820b6b5'/>
<id>urn:sha1:1a028dd2dd589c3924d9711a1b073a13c820b6b5</id>
<content type='text'>
The BKL is only used in put_super, fill_super and remount_fs that are all
three protected by the superblocks s_umount rw_semaphore. Therefore it is
safe to remove the BKL entirely.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
</content>
</entry>
<entry>
<title>BKL: Explicitly add BKL around get_sb/fill_super</title>
<updated>2010-10-04T19:10:10Z</updated>
<author>
<name>Jan Blunck</name>
</author>
<published>2010-08-15T20:51:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db71922217a214e5c9268448e537b54fc1f301ea'/>
<id>urn:sha1:db71922217a214e5c9268448e537b54fc1f301ea</id>
<content type='text'>
This patch is a preparation necessary to remove the BKL from do_new_mount().
It explicitly adds calls to lock_kernel()/unlock_kernel() around
get_sb/fill_super operations for filesystems that still uses the BKL.

I've read through all the code formerly covered by the BKL inside
do_kern_mount() and have satisfied myself that it doesn't need the BKL
any more.

do_kern_mount() is already called without the BKL when mounting the rootfs
and in nfsctl. do_kern_mount() calls vfs_kern_mount(), which is called
from various places without BKL: simple_pin_fs(), nfs_do_clone_mount()
through nfs_follow_mountpoint(), afs_mntpt_do_automount() through
afs_mntpt_follow_link(). Both later functions are actually the filesystems
follow_link inode operation. vfs_kern_mount() is calling the specified
get_sb function and lets the filesystem do its job by calling the given
fill_super function.

Therefore I think it is safe to push down the BKL from the VFS to the
low-level filesystems get_sb/fill_super operation.

[arnd: do not add the BKL to those file systems that already
       don't use it elsewhere]

Signed-off-by: Jan Blunck &lt;jblunck@infradead.org&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Matthew Wilcox &lt;matthew@wil.cx&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
</content>
</entry>
<entry>
<title>convert remaining -&gt;clear_inode() to -&gt;evict_inode()</title>
<updated>2010-08-09T20:48:37Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2010-06-07T18:34:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b57922d97fd6f79b6dbe6db0c4fd30d219fa08c1'/>
<id>urn:sha1:b57922d97fd6f79b6dbe6db0c4fd30d219fa08c1</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>jffs2: Stop triggering block erases from jffs2_write_super()</title>
<updated>2010-05-19T16:16:11Z</updated>
<author>
<name>Joakim Tjernlund</name>
</author>
<published>2010-05-19T16:16:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9723152ad1efb844445e63f052e6d39e85e11649'/>
<id>urn:sha1:9723152ad1efb844445e63f052e6d39e85e11649</id>
<content type='text'>
This is the culmination of this sequence of patches. By moving the block
erasing from jffs2_write_super() into the GC code, we avoid huge
latencies on unmount where it waits for _all_ pending blocks to be
erased, and we allow better control for time-critical tasks by stopping
the GC thread.

Signed-off-by: Joakim Tjernlund &lt;joakim.tjernlund@transmode.se&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>jffs2: Require jffs2_garbage_collect_trigger() to be called with lock held</title>
<updated>2010-05-19T16:10:22Z</updated>
<author>
<name>David Woodhouse</name>
</author>
<published>2010-05-19T16:00:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=acb64a43e4503fbea9faf123f2403da7af8831eb'/>
<id>urn:sha1:acb64a43e4503fbea9faf123f2403da7af8831eb</id>
<content type='text'>
We're about to call this from a bunch of places which already hold
c-&gt;erase_completion_lock, so add an assertion and change its existing
callers to do the same.

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>const: mark remaining export_operations const</title>
<updated>2009-09-22T14:17:24Z</updated>
<author>
<name>Alexey Dobriyan</name>
</author>
<published>2009-09-22T00:01:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ac4cfdd6d141c319a7af8655f750ed504c187a74'/>
<id>urn:sha1:ac4cfdd6d141c319a7af8655f750ed504c187a74</id>
<content type='text'>
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
