<feed xmlns='http://www.w3.org/2005/Atom'>
<title>litmus-rt.git/fs, branch v2.6.33-rc3</title>
<subtitle>The LITMUS^RT kernel.</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/'/>
<entry>
<title>Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2</title>
<updated>2010-01-06T00:01:04+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-01-06T00:01:04+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=6307daad8496f5807a2ef60cbada55fe3b59c44e'/>
<id>6307daad8496f5807a2ef60cbada55fe3b59c44e</id>
<content type='text'>
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:
  ocfs2: Handle O_DIRECT when writing to a refcounted cluster.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:
  ocfs2: Handle O_DIRECT when writing to a refcounted cluster.
</pre>
</div>
</content>
</entry>
<entry>
<title>sysfs: Add lockdep annotations for the sysfs active reference</title>
<updated>2010-01-04T20:34:46+00:00</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2010-01-02T21:37:12+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=846f99749ab68bbc7f75c74fec305de675b1a1bf'/>
<id>846f99749ab68bbc7f75c74fec305de675b1a1bf</id>
<content type='text'>
Holding locks over device_del -&gt; kobject_del -&gt; sysfs_deactivate can
cause deadlocks if those same locks are grabbed in sysfs show or store
methods.

The I model s_active count + completion as a sleeping read/write lock.
I describe to lockdep sysfs_get_active as a read_trylock,
sysfs_put_active as a read_unlock, and sysfs_deactivate as a
write_lock and write_unlock pair.  This seems to capture the essence
for purposes of finding deadlocks, and in my testing gives finds real
issues and ignores non-issues.

This brings us back to holding locks over kobject_del is a problem
that ideally we should find a way of addressing, but at least lockdep
can tell us about the problems instead of requiring developers to debug
rare strange system deadlocks, that happen when sysfs files are removed
while being written to.

Signed-off-by: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
Acked-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Holding locks over device_del -&gt; kobject_del -&gt; sysfs_deactivate can
cause deadlocks if those same locks are grabbed in sysfs show or store
methods.

The I model s_active count + completion as a sleeping read/write lock.
I describe to lockdep sysfs_get_active as a read_trylock,
sysfs_put_active as a read_unlock, and sysfs_deactivate as a
write_lock and write_unlock pair.  This seems to capture the essence
for purposes of finding deadlocks, and in my testing gives finds real
issues and ignores non-issues.

This brings us back to holding locks over kobject_del is a problem
that ideally we should find a way of addressing, but at least lockdep
can tell us about the problems instead of requiring developers to debug
rare strange system deadlocks, that happen when sysfs files are removed
while being written to.

Signed-off-by: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
Acked-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6</title>
<updated>2010-01-04T20:32:09+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-01-04T20:32:09+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=d4d3b19212a1045ff8224e680375076b3677ede7'/>
<id>d4d3b19212a1045ff8224e680375076b3677ede7</id>
<content type='text'>
* 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
  binfmt_elf_fdpic: Fix build breakage introduced by coredump changes.
  sh: update defconfigs.
  sh: Don't default enable PMB support.
  sh: Disable PMB for SH4AL-DSP CPUs.
  sh: Only provide a PCLK definition for legacy CPG CPUs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
  binfmt_elf_fdpic: Fix build breakage introduced by coredump changes.
  sh: update defconfigs.
  sh: Don't default enable PMB support.
  sh: Disable PMB for SH4AL-DSP CPUs.
  sh: Only provide a PCLK definition for legacy CPG CPUs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4</title>
<updated>2010-01-04T20:31:52+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-01-04T20:31:52+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=e43c259777999d19532cf418ca69ce1288b42edc'/>
<id>e43c259777999d19532cf418ca69ce1288b42edc</id>
<content type='text'>
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: Calculate metadata requirements more accurately
  ext4: Fix accounting of reserved metadata blocks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: Calculate metadata requirements more accurately
  ext4: Fix accounting of reserved metadata blocks
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2</title>
<updated>2010-01-04T20:28:26+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-01-04T20:28:26+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=a87da40875f5510866a699b72818cce09b0b9040'/>
<id>a87da40875f5510866a699b72818cce09b0b9040</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
  nilfs2: update mailing list address
  nilfs2: Storage class should be before const qualifier
  nilfs2: trivial coding style fix
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
  nilfs2: update mailing list address
  nilfs2: Storage class should be before const qualifier
  nilfs2: trivial coding style fix
</pre>
</div>
</content>
</entry>
<entry>
<title>binfmt_elf_fdpic: Fix build breakage introduced by coredump changes.</title>
<updated>2010-01-04T06:42:14+00:00</updated>
<author>
<name>Daisuke HATAYAMA</name>
<email>d.hatayama@jp.fujitsu.com</email>
</author>
<published>2010-01-04T06:42:14+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=2f48912d1443a796f10c42c89cb386f0e3eca04d'/>
<id>2f48912d1443a796f10c42c89cb386f0e3eca04d</id>
<content type='text'>
Commit f6151dfea21496d43dbaba32cfcd9c9f404769bc introduces build
breakage, so this patch fixes it together with some printk formatting
cleanup.

Signed-off-by: Daisuke HATAYAMA &lt;d.hatayama@jp.fujitsu.com&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit f6151dfea21496d43dbaba32cfcd9c9f404769bc introduces build
breakage, so this patch fixes it together with some printk formatting
cleanup.

Signed-off-by: Daisuke HATAYAMA &lt;d.hatayama@jp.fujitsu.com&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing</title>
<updated>2010-01-02T19:17:05+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-01-02T19:17:05+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=45d28b097280a78893ce25a5d0db41e6a2717853'/>
<id>45d28b097280a78893ce25a5d0db41e6a2717853</id>
<content type='text'>
* 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
  reiserfs: Safely acquire i_mutex from xattr_rmdir
  reiserfs: Safely acquire i_mutex from reiserfs_for_each_xattr
  reiserfs: Fix journal mutex &lt;-&gt; inode mutex lock inversion
  reiserfs: Fix unwanted recursive reiserfs lock in reiserfs_unlink()
  reiserfs: Relax lock before open xattr dir in reiserfs_xattr_set_handle()
  reiserfs: Relax reiserfs lock while freeing the journal
  reiserfs: Fix reiserfs lock &lt;-&gt; i_mutex dependency inversion on xattr
  reiserfs: Warn on lock relax if taken recursively
  reiserfs: Fix reiserfs lock &lt;-&gt; i_xattr_sem dependency inversion
  reiserfs: Fix remaining in-reclaim-fs &lt;-&gt; reclaim-fs-on locking inversion
  reiserfs: Fix reiserfs lock &lt;-&gt; inode mutex dependency inversion
  reiserfs: Fix reiserfs lock and journal lock inversion dependency
  reiserfs: Fix possible recursive lock
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
  reiserfs: Safely acquire i_mutex from xattr_rmdir
  reiserfs: Safely acquire i_mutex from reiserfs_for_each_xattr
  reiserfs: Fix journal mutex &lt;-&gt; inode mutex lock inversion
  reiserfs: Fix unwanted recursive reiserfs lock in reiserfs_unlink()
  reiserfs: Relax lock before open xattr dir in reiserfs_xattr_set_handle()
  reiserfs: Relax reiserfs lock while freeing the journal
  reiserfs: Fix reiserfs lock &lt;-&gt; i_mutex dependency inversion on xattr
  reiserfs: Warn on lock relax if taken recursively
  reiserfs: Fix reiserfs lock &lt;-&gt; i_xattr_sem dependency inversion
  reiserfs: Fix remaining in-reclaim-fs &lt;-&gt; reclaim-fs-on locking inversion
  reiserfs: Fix reiserfs lock &lt;-&gt; inode mutex dependency inversion
  reiserfs: Fix reiserfs lock and journal lock inversion dependency
  reiserfs: Fix possible recursive lock
</pre>
</div>
</content>
</entry>
<entry>
<title>writeback: add missing kernel-doc notation</title>
<updated>2010-01-02T18:09:44+00:00</updated>
<author>
<name>Jaswinder Singh Rajput</name>
<email>jaswinderrajput@gmail.com</email>
</author>
<published>2010-01-02T04:35:23+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=4b6764fa9e25cf628e42bbd192eca1e0b8e59061'/>
<id>4b6764fa9e25cf628e42bbd192eca1e0b8e59061</id>
<content type='text'>
Fix the following htmldocs warning:

  Warning(fs/fs-writeback.c:255): No description found for parameter 'sb'

Signed-off-by: Jaswinder Singh Rajput &lt;jaswinderrajput@gmail.com&gt;
Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Acked-by: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Jan Kara &lt;jack@suse.cz&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix the following htmldocs warning:

  Warning(fs/fs-writeback.c:255): No description found for parameter 'sb'

Signed-off-by: Jaswinder Singh Rajput &lt;jaswinderrajput@gmail.com&gt;
Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Acked-by: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Jan Kara &lt;jack@suse.cz&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>reiserfs: Safely acquire i_mutex from xattr_rmdir</title>
<updated>2010-01-02T00:59:48+00:00</updated>
<author>
<name>Frederic Weisbecker</name>
<email>fweisbec@gmail.com</email>
</author>
<published>2009-12-30T06:40:39+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=835d5247d98f46e35d007dcfa6215e526ca33360'/>
<id>835d5247d98f46e35d007dcfa6215e526ca33360</id>
<content type='text'>
Relax the reiserfs lock before taking the inode mutex from
xattr_rmdir() to avoid the usual reiserfs lock &lt;-&gt; inode mutex
bad dependency.

Signed-off-by: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Tested-by: Christian Kujau &lt;lists@nerdbynature.de&gt;
Cc: Alexander Beregalov &lt;a.beregalov@gmail.com&gt;
Cc: Chris Mason &lt;chris.mason@oracle.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Relax the reiserfs lock before taking the inode mutex from
xattr_rmdir() to avoid the usual reiserfs lock &lt;-&gt; inode mutex
bad dependency.

Signed-off-by: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Tested-by: Christian Kujau &lt;lists@nerdbynature.de&gt;
Cc: Alexander Beregalov &lt;a.beregalov@gmail.com&gt;
Cc: Chris Mason &lt;chris.mason@oracle.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>reiserfs: Safely acquire i_mutex from reiserfs_for_each_xattr</title>
<updated>2010-01-02T00:59:14+00:00</updated>
<author>
<name>Frederic Weisbecker</name>
<email>fweisbec@gmail.com</email>
</author>
<published>2009-12-30T06:28:58+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=8b513f56d4e117f11cf0760abcc030eedefc45c3'/>
<id>8b513f56d4e117f11cf0760abcc030eedefc45c3</id>
<content type='text'>
Relax the reiserfs lock before taking the inode mutex from
reiserfs_for_each_xattr() to avoid the usual bad dependencies:

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.32-atom #179
-------------------------------------------------------
rm/3242 is trying to acquire lock:
 (&amp;sb-&gt;s_type-&gt;i_mutex_key#4/3){+.+.+.}, at: [&lt;c11428ef&gt;] reiserfs_for_each_xattr+0x23f/0x290

but task is already holding lock:
 (&amp;REISERFS_SB(s)-&gt;lock){+.+.+.}, at: [&lt;c1143389&gt;] reiserfs_write_lock+0x29/0x40

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #1 (&amp;REISERFS_SB(s)-&gt;lock){+.+.+.}:
       [&lt;c105ea7f&gt;] __lock_acquire+0x11ff/0x19e0
       [&lt;c105f2c8&gt;] lock_acquire+0x68/0x90
       [&lt;c1401aab&gt;] mutex_lock_nested+0x5b/0x340
       [&lt;c1143339&gt;] reiserfs_write_lock_once+0x29/0x50
       [&lt;c1117022&gt;] reiserfs_lookup+0x62/0x140
       [&lt;c10bd85f&gt;] __lookup_hash+0xef/0x110
       [&lt;c10bf21d&gt;] lookup_one_len+0x8d/0xc0
       [&lt;c1141e3a&gt;] open_xa_dir+0xea/0x1b0
       [&lt;c1142720&gt;] reiserfs_for_each_xattr+0x70/0x290
       [&lt;c11429ba&gt;] reiserfs_delete_xattrs+0x1a/0x60
       [&lt;c111ea2f&gt;] reiserfs_delete_inode+0x9f/0x150
       [&lt;c10c9c32&gt;] generic_delete_inode+0xa2/0x170
       [&lt;c10c9d4f&gt;] generic_drop_inode+0x4f/0x70
       [&lt;c10c8b07&gt;] iput+0x47/0x50
       [&lt;c10c0965&gt;] do_unlinkat+0xd5/0x160
       [&lt;c10c0b13&gt;] sys_unlinkat+0x23/0x40
       [&lt;c1002ec4&gt;] sysenter_do_call+0x12/0x32

-&gt; #0 (&amp;sb-&gt;s_type-&gt;i_mutex_key#4/3){+.+.+.}:
       [&lt;c105f176&gt;] __lock_acquire+0x18f6/0x19e0
       [&lt;c105f2c8&gt;] lock_acquire+0x68/0x90
       [&lt;c1401aab&gt;] mutex_lock_nested+0x5b/0x340
       [&lt;c11428ef&gt;] reiserfs_for_each_xattr+0x23f/0x290
       [&lt;c11429ba&gt;] reiserfs_delete_xattrs+0x1a/0x60
       [&lt;c111ea2f&gt;] reiserfs_delete_inode+0x9f/0x150
       [&lt;c10c9c32&gt;] generic_delete_inode+0xa2/0x170
       [&lt;c10c9d4f&gt;] generic_drop_inode+0x4f/0x70
       [&lt;c10c8b07&gt;] iput+0x47/0x50
       [&lt;c10c0965&gt;] do_unlinkat+0xd5/0x160
       [&lt;c10c0b13&gt;] sys_unlinkat+0x23/0x40
       [&lt;c1002ec4&gt;] sysenter_do_call+0x12/0x32

other info that might help us debug this:

1 lock held by rm/3242:
 #0:  (&amp;REISERFS_SB(s)-&gt;lock){+.+.+.}, at: [&lt;c1143389&gt;] reiserfs_write_lock+0x29/0x40

stack backtrace:
Pid: 3242, comm: rm Not tainted 2.6.32-atom #179
Call Trace:
 [&lt;c13ffa13&gt;] ? printk+0x18/0x1a
 [&lt;c105d33a&gt;] print_circular_bug+0xca/0xd0
 [&lt;c105f176&gt;] __lock_acquire+0x18f6/0x19e0
 [&lt;c105c932&gt;] ? mark_held_locks+0x62/0x80
 [&lt;c105cc3b&gt;] ? trace_hardirqs_on+0xb/0x10
 [&lt;c1401098&gt;] ? mutex_unlock+0x8/0x10
 [&lt;c105f2c8&gt;] lock_acquire+0x68/0x90
 [&lt;c11428ef&gt;] ? reiserfs_for_each_xattr+0x23f/0x290
 [&lt;c11428ef&gt;] ? reiserfs_for_each_xattr+0x23f/0x290
 [&lt;c1401aab&gt;] mutex_lock_nested+0x5b/0x340
 [&lt;c11428ef&gt;] ? reiserfs_for_each_xattr+0x23f/0x290
 [&lt;c11428ef&gt;] reiserfs_for_each_xattr+0x23f/0x290
 [&lt;c1143180&gt;] ? delete_one_xattr+0x0/0x100
 [&lt;c11429ba&gt;] reiserfs_delete_xattrs+0x1a/0x60
 [&lt;c1143339&gt;] ? reiserfs_write_lock_once+0x29/0x50
 [&lt;c111ea2f&gt;] reiserfs_delete_inode+0x9f/0x150
 [&lt;c11b0d4f&gt;] ? _atomic_dec_and_lock+0x4f/0x70
 [&lt;c111e990&gt;] ? reiserfs_delete_inode+0x0/0x150
 [&lt;c10c9c32&gt;] generic_delete_inode+0xa2/0x170
 [&lt;c10c9d4f&gt;] generic_drop_inode+0x4f/0x70
 [&lt;c10c8b07&gt;] iput+0x47/0x50
 [&lt;c10c0965&gt;] do_unlinkat+0xd5/0x160
 [&lt;c1401098&gt;] ? mutex_unlock+0x8/0x10
 [&lt;c10c3e0d&gt;] ? vfs_readdir+0x7d/0xb0
 [&lt;c10c3af0&gt;] ? filldir64+0x0/0xf0
 [&lt;c1002ef3&gt;] ? sysenter_exit+0xf/0x16
 [&lt;c105cbe4&gt;] ? trace_hardirqs_on_caller+0x124/0x170
 [&lt;c10c0b13&gt;] sys_unlinkat+0x23/0x40
 [&lt;c1002ec4&gt;] sysenter_do_call+0x12/0x32

Signed-off-by: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Tested-by: Christian Kujau &lt;lists@nerdbynature.de&gt;
Cc: Alexander Beregalov &lt;a.beregalov@gmail.com&gt;
Cc: Chris Mason &lt;chris.mason@oracle.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Relax the reiserfs lock before taking the inode mutex from
reiserfs_for_each_xattr() to avoid the usual bad dependencies:

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.32-atom #179
-------------------------------------------------------
rm/3242 is trying to acquire lock:
 (&amp;sb-&gt;s_type-&gt;i_mutex_key#4/3){+.+.+.}, at: [&lt;c11428ef&gt;] reiserfs_for_each_xattr+0x23f/0x290

but task is already holding lock:
 (&amp;REISERFS_SB(s)-&gt;lock){+.+.+.}, at: [&lt;c1143389&gt;] reiserfs_write_lock+0x29/0x40

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #1 (&amp;REISERFS_SB(s)-&gt;lock){+.+.+.}:
       [&lt;c105ea7f&gt;] __lock_acquire+0x11ff/0x19e0
       [&lt;c105f2c8&gt;] lock_acquire+0x68/0x90
       [&lt;c1401aab&gt;] mutex_lock_nested+0x5b/0x340
       [&lt;c1143339&gt;] reiserfs_write_lock_once+0x29/0x50
       [&lt;c1117022&gt;] reiserfs_lookup+0x62/0x140
       [&lt;c10bd85f&gt;] __lookup_hash+0xef/0x110
       [&lt;c10bf21d&gt;] lookup_one_len+0x8d/0xc0
       [&lt;c1141e3a&gt;] open_xa_dir+0xea/0x1b0
       [&lt;c1142720&gt;] reiserfs_for_each_xattr+0x70/0x290
       [&lt;c11429ba&gt;] reiserfs_delete_xattrs+0x1a/0x60
       [&lt;c111ea2f&gt;] reiserfs_delete_inode+0x9f/0x150
       [&lt;c10c9c32&gt;] generic_delete_inode+0xa2/0x170
       [&lt;c10c9d4f&gt;] generic_drop_inode+0x4f/0x70
       [&lt;c10c8b07&gt;] iput+0x47/0x50
       [&lt;c10c0965&gt;] do_unlinkat+0xd5/0x160
       [&lt;c10c0b13&gt;] sys_unlinkat+0x23/0x40
       [&lt;c1002ec4&gt;] sysenter_do_call+0x12/0x32

-&gt; #0 (&amp;sb-&gt;s_type-&gt;i_mutex_key#4/3){+.+.+.}:
       [&lt;c105f176&gt;] __lock_acquire+0x18f6/0x19e0
       [&lt;c105f2c8&gt;] lock_acquire+0x68/0x90
       [&lt;c1401aab&gt;] mutex_lock_nested+0x5b/0x340
       [&lt;c11428ef&gt;] reiserfs_for_each_xattr+0x23f/0x290
       [&lt;c11429ba&gt;] reiserfs_delete_xattrs+0x1a/0x60
       [&lt;c111ea2f&gt;] reiserfs_delete_inode+0x9f/0x150
       [&lt;c10c9c32&gt;] generic_delete_inode+0xa2/0x170
       [&lt;c10c9d4f&gt;] generic_drop_inode+0x4f/0x70
       [&lt;c10c8b07&gt;] iput+0x47/0x50
       [&lt;c10c0965&gt;] do_unlinkat+0xd5/0x160
       [&lt;c10c0b13&gt;] sys_unlinkat+0x23/0x40
       [&lt;c1002ec4&gt;] sysenter_do_call+0x12/0x32

other info that might help us debug this:

1 lock held by rm/3242:
 #0:  (&amp;REISERFS_SB(s)-&gt;lock){+.+.+.}, at: [&lt;c1143389&gt;] reiserfs_write_lock+0x29/0x40

stack backtrace:
Pid: 3242, comm: rm Not tainted 2.6.32-atom #179
Call Trace:
 [&lt;c13ffa13&gt;] ? printk+0x18/0x1a
 [&lt;c105d33a&gt;] print_circular_bug+0xca/0xd0
 [&lt;c105f176&gt;] __lock_acquire+0x18f6/0x19e0
 [&lt;c105c932&gt;] ? mark_held_locks+0x62/0x80
 [&lt;c105cc3b&gt;] ? trace_hardirqs_on+0xb/0x10
 [&lt;c1401098&gt;] ? mutex_unlock+0x8/0x10
 [&lt;c105f2c8&gt;] lock_acquire+0x68/0x90
 [&lt;c11428ef&gt;] ? reiserfs_for_each_xattr+0x23f/0x290
 [&lt;c11428ef&gt;] ? reiserfs_for_each_xattr+0x23f/0x290
 [&lt;c1401aab&gt;] mutex_lock_nested+0x5b/0x340
 [&lt;c11428ef&gt;] ? reiserfs_for_each_xattr+0x23f/0x290
 [&lt;c11428ef&gt;] reiserfs_for_each_xattr+0x23f/0x290
 [&lt;c1143180&gt;] ? delete_one_xattr+0x0/0x100
 [&lt;c11429ba&gt;] reiserfs_delete_xattrs+0x1a/0x60
 [&lt;c1143339&gt;] ? reiserfs_write_lock_once+0x29/0x50
 [&lt;c111ea2f&gt;] reiserfs_delete_inode+0x9f/0x150
 [&lt;c11b0d4f&gt;] ? _atomic_dec_and_lock+0x4f/0x70
 [&lt;c111e990&gt;] ? reiserfs_delete_inode+0x0/0x150
 [&lt;c10c9c32&gt;] generic_delete_inode+0xa2/0x170
 [&lt;c10c9d4f&gt;] generic_drop_inode+0x4f/0x70
 [&lt;c10c8b07&gt;] iput+0x47/0x50
 [&lt;c10c0965&gt;] do_unlinkat+0xd5/0x160
 [&lt;c1401098&gt;] ? mutex_unlock+0x8/0x10
 [&lt;c10c3e0d&gt;] ? vfs_readdir+0x7d/0xb0
 [&lt;c10c3af0&gt;] ? filldir64+0x0/0xf0
 [&lt;c1002ef3&gt;] ? sysenter_exit+0xf/0x16
 [&lt;c105cbe4&gt;] ? trace_hardirqs_on_caller+0x124/0x170
 [&lt;c10c0b13&gt;] sys_unlinkat+0x23/0x40
 [&lt;c1002ec4&gt;] sysenter_do_call+0x12/0x32

Signed-off-by: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Tested-by: Christian Kujau &lt;lists@nerdbynature.de&gt;
Cc: Alexander Beregalov &lt;a.beregalov@gmail.com&gt;
Cc: Chris Mason &lt;chris.mason@oracle.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
</feed>
