<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/hfs, branch linux-2.6.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2006-11-16T19:43:38Z</updated>
<entry>
<title>[PATCH] hfs_fill_super returns success even if no root inode</title>
<updated>2006-11-16T19:43:38Z</updated>
<author>
<name>Eric Sandeen</name>
</author>
<published>2006-11-16T09:19:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6ddf55440833fd9404138026af246c51ebeef22'/>
<id>urn:sha1:d6ddf55440833fd9404138026af246c51ebeef22</id>
<content type='text'>
http://kernelfun.blogspot.com/2006/11/mokb-14-11-2006-linux-26x-selinux.html

mount that image...
fs: filesystem was not cleanly unmounted, running fsck.hfs is recommended.  mounting read-only.
hfs: get root inode failed.
BUG: unable to handle kernel NULL pointer dereference at virtual address 00000018
 printing eip
...
EIP is at superblock_doinit+0x21/0x767
...
 [] selinux_sb_kern_mount+0xc/0x4b
 [] vfs_kern_mount+0x99/0xf6
 [] do_kern_mount+0x2d/0x3e
 [] do_mount+0x5fa/0x66d
 [] sys_mount+0x77/0xae
 [] syscall_call+0x7/0xb
DWARF2 unwinder stuck at syscall_call+0x7/0xb

hfs_fill_super() returns success even if
  root_inode = hfs_iget(sb, &amp;fd.search_key-&gt;cat, &amp;rec);
or
  sb-&gt;s_root = d_alloc_root(root_inode);

fails.  This superblock finds its way to superblock_doinit() which does:

        struct dentry *root = sb-&gt;s_root;
        struct inode *inode = root-&gt;d_inode;

and boom.  Need to make sure the error cases return an error, I think.

[akpm@osdl.org: return -ENOMEM on oom]
Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Roman Zippel &lt;zippel@linux-m68k.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] r/o bind mounts: monitor zeroing of i_nlink</title>
<updated>2006-10-01T07:39:30Z</updated>
<author>
<name>Dave Hansen</name>
</author>
<published>2006-10-01T06:29:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce71ec36840368b877fb63bd14c8e67ab62d08b1'/>
<id>urn:sha1:ce71ec36840368b877fb63bd14c8e67ab62d08b1</id>
<content type='text'>
Some filesystems, instead of simply decrementing i_nlink, simply zero it
during an unlink operation.  We need to catch these in addition to the
decrement operations.

Signed-off-by: Dave Hansen &lt;haveblue@us.ibm.com&gt;
Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] r/o bind mounts: unlink: monitor i_nlink</title>
<updated>2006-10-01T07:39:30Z</updated>
<author>
<name>Dave Hansen</name>
</author>
<published>2006-10-01T06:29:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9a53c3a783c2fa9b969628e65695c11c3e51e673'/>
<id>urn:sha1:9a53c3a783c2fa9b969628e65695c11c3e51e673</id>
<content type='text'>
When a filesystem decrements i_nlink to zero, it means that a write must be
performed in order to drop the inode from the filesystem.

We're shortly going to have keep filesystems from being remounted r/o between
the time that this i_nlink decrement and that write occurs.

So, add a little helper function to do the decrements.  We'll tie into it in a
bit to note when i_nlink hits zero.

Signed-off-by: Dave Hansen &lt;haveblue@us.ibm.com&gt;
Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Streamline generic_file_* interfaces and filemap cleanups</title>
<updated>2006-10-01T07:39:28Z</updated>
<author>
<name>Badari Pulavarty</name>
</author>
<published>2006-10-01T06:28:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=543ade1fc901db4c3dbe9fb27241fb977f1f3eea'/>
<id>urn:sha1:543ade1fc901db4c3dbe9fb27241fb977f1f3eea</id>
<content type='text'>
This patch cleans up generic_file_*_read/write() interfaces.  Christoph
Hellwig gave me the idea for this clean ups.

In a nutshell, all filesystems should set .aio_read/.aio_write methods and use
do_sync_read/ do_sync_write() as their .read/.write methods.  This allows us
to cleanup all variants of generic_file_* routines.

Final available interfaces:

generic_file_aio_read() - read handler
generic_file_aio_write() - write handler
generic_file_aio_write_nolock() - no lock write handler

__generic_file_aio_write_nolock() - internal worker routine

Signed-off-by: Badari Pulavarty &lt;pbadari@us.ibm.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] inode-diet: Eliminate i_blksize from the inode structure</title>
<updated>2006-09-27T15:26:18Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2006-09-27T08:50:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ba52de123d454b57369f291348266d86f4b35070'/>
<id>urn:sha1:ba52de123d454b57369f291348266d86f4b35070</id>
<content type='text'>
This eliminates the i_blksize field from struct inode.  Filesystems that want
to provide a per-inode st_blksize can do so by providing their own getattr
routine instead of using the generic_fillattr() function.

Note that some filesystems were providing pretty much random (and incorrect)
values for i_blksize.

[bunk@stusta.de: cleanup]
[akpm@osdl.org: generic_fillattr() fix]
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Really ignore kmem_cache_destroy return value</title>
<updated>2006-09-27T15:26:10Z</updated>
<author>
<name>Alexey Dobriyan</name>
</author>
<published>2006-09-27T08:49:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a1d92c10dd24bbdc28b3d6e2d03ec199dd3a65b'/>
<id>urn:sha1:1a1d92c10dd24bbdc28b3d6e2d03ec199dd3a65b</id>
<content type='text'>
* Rougly half of callers already do it by not checking return value
* Code in drivers/acpi/osl.c does the following to be sure:

	(void)kmem_cache_destroy(cache);

* Those who check it printk something, however, slab_error already printed
  the name of failed cache.
* XFS BUGs on failed kmem_cache_destroy which is not the decision
  low-level filesystem driver should make. Converted to ignore.

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc</title>
<updated>2006-09-27T15:26:10Z</updated>
<author>
<name>Panagiotis Issaris</name>
</author>
<published>2006-09-27T08:49:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f8314dc60ccba7e41f425048c4160dc7f63377d5'/>
<id>urn:sha1:f8314dc60ccba7e41f425048c4160dc7f63377d5</id>
<content type='text'>
Conversions from kmalloc+memset to kzalloc.

Signed-off-by: Panagiotis Issaris &lt;takis@issaris.org&gt;
Jffs2-bit-acked-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>Remove obsolete #include &lt;linux/config.h&gt;</title>
<updated>2006-06-30T17:25:36Z</updated>
<author>
<name>Jörn Engel</name>
</author>
<published>2006-06-30T17:25:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ab3d5624e172c553004ecc862bfeac16d9d68b7'/>
<id>urn:sha1:6ab3d5624e172c553004ecc862bfeac16d9d68b7</id>
<content type='text'>
Signed-off-by: Jörn Engel &lt;joern@wohnheim.fh-wedel.de&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] mark address_space_operations const</title>
<updated>2006-06-28T21:59:04Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2006-06-28T11:26:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f5e54d6e53a20cef45af7499e86164f0e0d16bb2'/>
<id>urn:sha1:f5e54d6e53a20cef45af7499e86164f0e0d16bb2</id>
<content type='text'>
Same as with already do with the file operations: keep them in .rodata and
prevents people from doing runtime patching.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Steven French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] read_mapping_page for address space</title>
<updated>2006-06-23T14:43:02Z</updated>
<author>
<name>Pekka Enberg</name>
</author>
<published>2006-06-23T09:05:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=090d2b185d8680fc26a2eaf4245d4171dcf4baf1'/>
<id>urn:sha1:090d2b185d8680fc26a2eaf4245d4171dcf4baf1</id>
<content type='text'>
Add read_mapping_page() which is used for callers that pass
mapping-&gt;a_ops-&gt;readpage as the filler for read_cache_page.  This removes
some duplication from filesystem code.

Signed-off-by: Pekka Enberg &lt;penberg@cs.helsinki.fi&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
