<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/bfs/dir.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-10-23T09:13:21Z</updated>
<entry>
<title>[PATCH] fix -&gt;llseek for more directories</title>
<updated>2008-10-23T09:13:21Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2008-09-03T19:53:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3222a3e55f4025acb2a5a4379cf2f2b7df1f1243'/>
<id>urn:sha1:3222a3e55f4025acb2a5a4379cf2f2b7df1f1243</id>
<content type='text'>
With this patch all directory fops instances that have a readdir
that doesn't take the BKL are switched to generic_file_llseek.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>bfs: fix Lockdep warning</title>
<updated>2008-09-13T21:41:51Z</updated>
<author>
<name>Eric Sesterhenn</name>
</author>
<published>2008-09-13T09:33:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1558182f651798164418abf53f76786da0ea4a6f'/>
<id>urn:sha1:1558182f651798164418abf53f76786da0ea4a6f</id>
<content type='text'>
This fixes:

  =============================================
  [ INFO: possible recursive locking detected ]
  2.6.27-rc5-00283-g70bb089 #68
  ---------------------------------------------
  touch/6855 is trying to acquire lock:
   (&amp;info-&gt;bfs_lock){--..}, at: [&lt;c02262f5&gt;] bfs_delete_inode+0x9e/0x18c

  but task is already holding lock:
   (&amp;info-&gt;bfs_lock){--..}, at: [&lt;c0226c00&gt;] bfs_create+0x45/0x187

  other info that might help us debug this:
  2 locks held by touch/6855:
   #0:  (&amp;type-&gt;i_mutex_dir_key#5){--..}, at: [&lt;c018ad13&gt;] do_filp_open+0x10b/0x62f
   #1:  (&amp;info-&gt;bfs_lock){--..}, at: [&lt;c0226c00&gt;] bfs_create+0x45/0x187

  stack backtrace:
  Pid: 6855, comm: touch Not tainted 2.6.27-rc5-00283-g70bb089 #68
   [&lt;c013e769&gt;] validate_chain+0x458/0x9f4
   [&lt;c013bece&gt;] ? trace_hardirqs_off+0xb/0xd
   [&lt;c013f36b&gt;] __lock_acquire+0x666/0x6e0
   [&lt;c013f440&gt;] lock_acquire+0x5b/0x77
   [&lt;c02262f5&gt;] ? bfs_delete_inode+0x9e/0x18c
   [&lt;c06aab74&gt;] mutex_lock_nested+0xbc/0x234
   [&lt;c02262f5&gt;] ? bfs_delete_inode+0x9e/0x18c
   [&lt;c02262f5&gt;] ? bfs_delete_inode+0x9e/0x18c
   [&lt;c02262f5&gt;] bfs_delete_inode+0x9e/0x18c
   [&lt;c0226257&gt;] ? bfs_delete_inode+0x0/0x18c
   [&lt;c01925e1&gt;] generic_delete_inode+0x94/0xfe
   [&lt;c019265d&gt;] generic_drop_inode+0x12/0x12f
   [&lt;c0191b7e&gt;] iput+0x4b/0x4e
   [&lt;c0226d1e&gt;] bfs_create+0x163/0x187
   [&lt;c0188b42&gt;] vfs_create+0xa6/0x114
   [&lt;c018adb5&gt;] do_filp_open+0x1ad/0x62f
   [&lt;c0107cdc&gt;] ? native_sched_clock+0x82/0x96
   [&lt;c06ac309&gt;] ? _spin_unlock+0x27/0x3c
   [&lt;c019379e&gt;] ? alloc_fd+0xbf/0xc9
   [&lt;c06ae2f4&gt;] ? sub_preempt_count+0x9d/0xab
   [&lt;c019379e&gt;] ? alloc_fd+0xbf/0xc9
   [&lt;c0180391&gt;] do_sys_open+0x42/0xb8
   [&lt;c041d564&gt;] ? trace_hardirqs_on_thunk+0xc/0x10
   [&lt;c0180449&gt;] sys_open+0x1e/0x26
   [&lt;c01038bd&gt;] sysenter_do_call+0x12/0x31
   =======================

The problem is that we don't unlock the bfs-&gt;lock mutex before calling
iput (we do in the other cases).

Signed-off-by: Eric Sesterhenn &lt;snakebyte@gmx.de&gt;
Cc: Tigran Aivazian &lt;tigran@aivazian.fsnet.co.uk&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>
<entry>
<title>bfs: kill BKL</title>
<updated>2008-07-26T19:00:03Z</updated>
<author>
<name>Dmitri Vorobiev</name>
</author>
<published>2008-07-26T02:44:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3f165e4cf2af042af7d2440d688299c0d2a48b1f'/>
<id>urn:sha1:3f165e4cf2af042af7d2440d688299c0d2a48b1f</id>
<content type='text'>
Replace the BKL-based locking scheme used in the bfs driver by a private
filesystem-wide mutex.

Signed-off-by: Dmitri Vorobiev &lt;dmitri.vorobiev@movial.fi&gt;
Cc: Tigran Aivazian &lt;tigran_aivazian@symantec.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>
<entry>
<title>iget: stop BFS from using iget() and read_inode()</title>
<updated>2008-02-07T16:42:27Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2008-02-07T08:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e33ab086ae227a34e34b17e86dbb9d2dbaebb489'/>
<id>urn:sha1:e33ab086ae227a34e34b17e86dbb9d2dbaebb489</id>
<content type='text'>
Stop the BFS filesystem from using iget() and read_inode().  Replace
bfs_read_inode() with bfs_iget(), and call that instead of iget().  bfs_iget()
then uses iget_locked() directly and returns a proper error code instead of an
inode in the event of an error.

bfs_fill_super() returns any error incurred when getting the root inode
instead of EINVAL.

[kamalesh@linux.vnet.ibm.com: build fix]
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Kamalesh Babulal &lt;kamalesh@linux.vnet.ibm.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>
<entry>
<title>Fixes to the BFS filesystem driver</title>
<updated>2007-11-15T02:45:40Z</updated>
<author>
<name>Dmitri Vorobiev</name>
</author>
<published>2007-11-15T00:59:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f433dc56344cb72cc3de5ba0819021cec3aef807'/>
<id>urn:sha1:f433dc56344cb72cc3de5ba0819021cec3aef807</id>
<content type='text'>
I found a few bugs in the BFS driver.  Detailed description of the bugs as
well as the steps to reproduce the errors are given in the kernel bugzilla.
 Please follow these links for more information:

http://bugzilla.kernel.org/show_bug.cgi?id=9363
http://bugzilla.kernel.org/show_bug.cgi?id=9364
http://bugzilla.kernel.org/show_bug.cgi?id=9365
http://bugzilla.kernel.org/show_bug.cgi?id=9366

This patch fixes the bugs described above.  Besides, the patch introduces
coding style changes to make the BFS driver conform to the requirements
specified for Linux kernel code.  Finally, I made a few cosmetic changes
such as removal of trivial debug output.

Also, the patch removes the fields `si_lf_ioff' and `si_lf_sblk' of the
in-core superblock structure.  These fields are initialized but never
actually used.

If you are wondering why I need BFS, here is the answer: I am using this
driver in the context of Linux kernel classes I am teaching in the Moscow
State University and in the International Institute of Information
Technology in Pune, India.

Signed-off-by: Dmitri Vorobiev &lt;dmitri.vorobiev@gmail.com&gt;
Cc: Tigran Aivazian &lt;tigran@veritas.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>
<entry>
<title>[PATCH] mark struct inode_operations const 1</title>
<updated>2007-02-12T17:48:46Z</updated>
<author>
<name>Arjan van de Ven</name>
</author>
<published>2007-02-12T08:55:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=754661f143e70d66eae6c48532ca245aa05dec0e'/>
<id>urn:sha1:754661f143e70d66eae6c48532ca245aa05dec0e</id>
<content type='text'>
Many struct inode_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven &lt;arjan@linux.intel.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>
<entry>
<title>[PATCH] struct path: convert bfs</title>
<updated>2006-12-08T16:28:44Z</updated>
<author>
<name>Josef Sipek</name>
</author>
<published>2006-12-08T10:36:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=61a8424ab8f611d199bfc8ca329ec0ea77a4d4ea'/>
<id>urn:sha1:61a8424ab8f611d199bfc8ca329ec0ea77a4d4ea</id>
<content type='text'>
Signed-off-by: Josef Sipek &lt;jsipek@fsl.cs.sunysb.edu&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 mount prepwork: inc_nlink() helper</title>
<updated>2006-10-01T07:39:30Z</updated>
<author>
<name>Dave Hansen</name>
</author>
<published>2006-10-01T06:29:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d8c76e6f45c111c32a4b3e50a2adc9210737b0d8'/>
<id>urn:sha1:d8c76e6f45c111c32a4b3e50a2adc9210737b0d8</id>
<content type='text'>
This is mostly included for parity with dec_nlink(), where we will have some
more hooks.  This one should stay pretty darn straightforward for now.

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] 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>
</feed>
