All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0,  file: fs/xfs/xfs_bmap.c, line: 5991
       [not found] <941396568.292261245481145500.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
@ 2009-06-20  7:04 ` Lachlan McIlroy
  2009-06-20 18:01   ` Christoph Hellwig
  2009-06-23 22:51   ` Alexander Beregalov
  0 siblings, 2 replies; 8+ messages in thread
From: Lachlan McIlroy @ 2009-06-20  7:04 UTC (permalink / raw)
  To: Alexander Beregalov; +Cc: xfs

Hi Alexander,

I've seen this assertion before and if it's the problem I think it
is then it should be fixed with this patch:

http://oss.sgi.com/archives/xfs/2009-02/msg00176.html

It shouldn't be difficult to test this too - If you run about 1024
dd writers to separate 100MB files and then run xfs_bmap on each
file afterwards it should assert.

Lachlan

----- "Alexander Beregalov" <a.beregalov@gmail.com> wrote:

> Hi
> 
> 
> Assertion failed: ip->i_delayed_blks == 0, file: fs/xfs/xfs_bmap.c,
> line: 5991
> ------------[ cut here ]------------
> kernel BUG at fs/xfs/support/debug.c:109!
> invalid opcode: 0000 [#1] DEBUG_PAGEALLOC
> last sysfs file:
> /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
> Modules linked in: w83627hf hwmon_vid i2c_nforce2
> 
> Pid: 3164, comm: xfs_fsr Not tainted (2.6.30-06725-g1d89b30 #2)
> EIP: 0060:[<c11a063e>] EFLAGS: 00010292 CPU: 0
> EIP is at assfail+0x1e/0x30
> EAX: 00000061 EBX: 0000007f ECX: c13501b7 EDX: ef693d80
> ESI: 00000000 EDI: f67c3de4 EBP: f67c3d38 ESP: f67c3d28
>  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
> Process xfs_fsr (pid: 3164, ti=f67c2000 task=ef693d80
> task.ti=f67c2000)
> Stack:
>  c142ab88 c140c8c5 c140c42d 00001767 f67c3dd0 c114d53f ffffffff
> ffffffff
> <0> 00000000 00000000 00000001 efdb91e4 ef693d80 f67c3d88 00000246
> c109abea
> <0> f6df4768 00000246 00000000 00000000 c1198ca0 f3d732e0 e8ae8000
> 00000002
> Call Trace:
>  [<c114d53f>] ? xfs_getbmap+0x19f/0x7b0
>  [<c109abea>] ? __d_lookup+0xca/0x170
>  [<c1198ca0>] ? xfs_getbmap_format+0x0/0x30
>  [<c1073da6>] ? might_fault+0x46/0xa0
>  [<c11ca7e5>] ? copy_from_user+0x35/0x140
>  [<c1198e48>] ? xfs_ioc_getbmap+0x68/0xf0
>  [<c119a830>] ? xfs_file_ioctl+0x420/0x860
>  [<c104d3dd>] ? print_lock_contention_bug+0x1d/0x110
>  [<c106a3f6>] ? put_page+0x56/0x110
>  [<c1083ffc>] ? slab_pad_check+0x3c/0x120
>  [<c10852fd>] ? check_object+0x13d/0x200
>  [<c119a410>] ? xfs_file_ioctl+0x0/0x860
>  [<c1096950>] ? vfs_ioctl+0x20/0x70
>  [<c1096b4a>] ? do_vfs_ioctl+0x6a/0x5c0
>  [<c104ea5b>] ? trace_hardirqs_on+0xb/0x10
>  [<c1078f96>] ? remove_vma+0x56/0x70
>  [<c1078f96>] ? remove_vma+0x56/0x70
>  [<c1078f96>] ? remove_vma+0x56/0x70
>  [<c1079e4b>] ? do_munmap+0x23b/0x280
>  [<c10970d9>] ? sys_ioctl+0x39/0x70
>  [<c1002d58>] ? sysenter_do_call+0x12/0x36
> 
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0,  file: fs/xfs/xfs_bmap.c, line: 5991
  2009-06-20  7:04 ` 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0, file: fs/xfs/xfs_bmap.c, line: 5991 Lachlan McIlroy
@ 2009-06-20 18:01   ` Christoph Hellwig
  2009-06-20 18:17     ` Alexander Beregalov
  2009-06-23 22:51   ` Alexander Beregalov
  1 sibling, 1 reply; 8+ messages in thread
From: Christoph Hellwig @ 2009-06-20 18:01 UTC (permalink / raw)
  To: Lachlan McIlroy; +Cc: Alexander Beregalov, xfs

On Sat, Jun 20, 2009 at 03:04:24AM -0400, Lachlan McIlroy wrote:
> Hi Alexander,
> 
> I've seen this assertion before and if it's the problem I think it
> is then it should be fixed with this patch:
> 
> http://oss.sgi.com/archives/xfs/2009-02/msg00176.html
> 
> It shouldn't be difficult to test this too - If you run about 1024
> dd writers to separate 100MB files and then run xfs_bmap on each
> file afterwards it should assert.

Thas is in a filesystem not big enough to actually fit those files,
right?  Might be worth adding a testcase like this..

Alex, can you give that patch a try?

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0, file: fs/xfs/xfs_bmap.c, line: 5991
  2009-06-20 18:01   ` Christoph Hellwig
@ 2009-06-20 18:17     ` Alexander Beregalov
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Beregalov @ 2009-06-20 18:17 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Lachlan McIlroy, xfs

2009/6/20 Christoph Hellwig <hch@infradead.org>:
> On Sat, Jun 20, 2009 at 03:04:24AM -0400, Lachlan McIlroy wrote:
>> Hi Alexander,
>>
>> I've seen this assertion before and if it's the problem I think it
>> is then it should be fixed with this patch:
>>
>> http://oss.sgi.com/archives/xfs/2009-02/msg00176.html
>>
>> It shouldn't be difficult to test this too - If you run about 1024
>> dd writers to separate 100MB files and then run xfs_bmap on each
>> file afterwards it should assert.
>
> Thas is in a filesystem not big enough to actually fit those files,
> right?  Might be worth adding a testcase like this..
>
> Alex, can you give that patch a try?

Yes, I have applied and testing it now.
I will let you know.
Thanks.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0, file: fs/xfs/xfs_bmap.c, line: 5991
  2009-06-20  7:04 ` 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0, file: fs/xfs/xfs_bmap.c, line: 5991 Lachlan McIlroy
  2009-06-20 18:01   ` Christoph Hellwig
@ 2009-06-23 22:51   ` Alexander Beregalov
  1 sibling, 0 replies; 8+ messages in thread
From: Alexander Beregalov @ 2009-06-23 22:51 UTC (permalink / raw)
  To: Lachlan McIlroy; +Cc: xfs

2009/6/20 Lachlan McIlroy <lmcilroy@redhat.com>:
> Hi Alexander,
>
> I've seen this assertion before and if it's the problem I think it
> is then it should be fixed with this patch:
>
> http://oss.sgi.com/archives/xfs/2009-02/msg00176.html
>
> It shouldn't be difficult to test this too - If you run about 1024
> dd writers to separate 100MB files and then run xfs_bmap on each
> file afterwards it should assert.
>
Still the same problem with this patch, it does not work for me.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0,  file: fs/xfs/xfs_bmap.c, line: 5991
       [not found] <175383275.303721245629906853.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
@ 2009-06-22  0:29 ` Lachlan McIlroy
  0 siblings, 0 replies; 8+ messages in thread
From: Lachlan McIlroy @ 2009-06-22  0:29 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Alexander Beregalov, xfs


----- "Christoph Hellwig" <hch@infradead.org> wrote:

> On Sat, Jun 20, 2009 at 03:04:24AM -0400, Lachlan McIlroy wrote:
> > Hi Alexander,
> > 
> > I've seen this assertion before and if it's the problem I think it
> > is then it should be fixed with this patch:
> > 
> > http://oss.sgi.com/archives/xfs/2009-02/msg00176.html
> > 
> > It shouldn't be difficult to test this too - If you run about 1024
> > dd writers to separate 100MB files and then run xfs_bmap on each
> > file afterwards it should assert.
> 
> Thas is in a filesystem not big enough to actually fit those files,
> right?  Might be worth adding a testcase like this..
Smaller files might work too.  The trick will be to get enough threads
flushing files at the same time that we exhaust the reserved space pool
(ie xfs_trans_reserve() returns ENOSPC even when the XFS_TRANS_RESERVE
flag is used).

> 
> Alex, can you give that patch a try?
> 
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0, file: fs/xfs/xfs_bmap.c, line: 5991
  2009-06-18 20:51 ` Christoph Hellwig
@ 2009-06-18 22:04   ` Alexander Beregalov
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Beregalov @ 2009-06-18 22:04 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: xfs

2009/6/19 Christoph Hellwig <hch@infradead.org>:
> Did this happens once or multiple times?  It seems that for some
Once. But I was able to reproduce it (not so easy).
The patch does not work.

> reason xfs_flush_pages didn't flush all delalloc space and then
> we rightfully hit this assertation.
>
> I really hate the code in xfs_flush_pages with the optimizations it
> tries to apply.  Can you give the patch below which removes the
> optimizations and uses some more core VM code instead of doing our
> own thing?

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0, file: fs/xfs/xfs_bmap.c, line: 5991
  2009-06-18 19:31 Alexander Beregalov
@ 2009-06-18 20:51 ` Christoph Hellwig
  2009-06-18 22:04   ` Alexander Beregalov
  0 siblings, 1 reply; 8+ messages in thread
From: Christoph Hellwig @ 2009-06-18 20:51 UTC (permalink / raw)
  To: Alexander Beregalov; +Cc: xfs

Did this happens once or multiple times?  It seems that for some
reason xfs_flush_pages didn't flush all delalloc space and then
we rightfully hit this assertation.

I really hate the code in xfs_flush_pages with the optimizations it
tries to apply.  Can you give the patch below which removes the
optimizations and uses some more core VM code instead of doing our
own thing?


Index: xfs/fs/xfs/linux-2.6/xfs_fs_subr.c
===================================================================
--- xfs.orig/fs/xfs/linux-2.6/xfs_fs_subr.c	2009-06-18 22:48:01.469815342 +0200
+++ xfs/fs/xfs/linux-2.6/xfs_fs_subr.c	2009-06-18 22:49:08.296815058 +0200
@@ -68,20 +68,12 @@ xfs_flush_pages(
 	uint64_t	flags,
 	int		fiopt)
 {
-	struct address_space *mapping = VFS_I(ip)->i_mapping;
-	int		ret = 0;
-	int		ret2;
+	xfs_iflags_clear(ip, XFS_ITRUNCATED);
 
-	if (mapping_tagged(mapping, PAGECACHE_TAG_DIRTY)) {
-		xfs_iflags_clear(ip, XFS_ITRUNCATED);
-		ret = -filemap_fdatawrite(mapping);
-	}
 	if (flags & XFS_B_ASYNC)
-		return ret;
-	ret2 = xfs_wait_on_pages(ip, first, last);
-	if (!ret)
-		ret = ret2;
-	return ret;
+		return -filemap_fdatawrite(VFS_I(ip)->i_mapping);
+	else
+		return -filemap_write_and_wait(VFS_I(ip)->i_mapping);
 }
 
 int

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0, file: fs/xfs/xfs_bmap.c, line: 5991
@ 2009-06-18 19:31 Alexander Beregalov
  2009-06-18 20:51 ` Christoph Hellwig
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Beregalov @ 2009-06-18 19:31 UTC (permalink / raw)
  To: xfs

Hi


Assertion failed: ip->i_delayed_blks == 0, file: fs/xfs/xfs_bmap.c, line: 5991
------------[ cut here ]------------
kernel BUG at fs/xfs/support/debug.c:109!
invalid opcode: 0000 [#1] DEBUG_PAGEALLOC
last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
Modules linked in: w83627hf hwmon_vid i2c_nforce2

Pid: 3164, comm: xfs_fsr Not tainted (2.6.30-06725-g1d89b30 #2)
EIP: 0060:[<c11a063e>] EFLAGS: 00010292 CPU: 0
EIP is at assfail+0x1e/0x30
EAX: 00000061 EBX: 0000007f ECX: c13501b7 EDX: ef693d80
ESI: 00000000 EDI: f67c3de4 EBP: f67c3d38 ESP: f67c3d28
 DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
Process xfs_fsr (pid: 3164, ti=f67c2000 task=ef693d80 task.ti=f67c2000)
Stack:
 c142ab88 c140c8c5 c140c42d 00001767 f67c3dd0 c114d53f ffffffff ffffffff
<0> 00000000 00000000 00000001 efdb91e4 ef693d80 f67c3d88 00000246 c109abea
<0> f6df4768 00000246 00000000 00000000 c1198ca0 f3d732e0 e8ae8000 00000002
Call Trace:
 [<c114d53f>] ? xfs_getbmap+0x19f/0x7b0
 [<c109abea>] ? __d_lookup+0xca/0x170
 [<c1198ca0>] ? xfs_getbmap_format+0x0/0x30
 [<c1073da6>] ? might_fault+0x46/0xa0
 [<c11ca7e5>] ? copy_from_user+0x35/0x140
 [<c1198e48>] ? xfs_ioc_getbmap+0x68/0xf0
 [<c119a830>] ? xfs_file_ioctl+0x420/0x860
 [<c104d3dd>] ? print_lock_contention_bug+0x1d/0x110
 [<c106a3f6>] ? put_page+0x56/0x110
 [<c1083ffc>] ? slab_pad_check+0x3c/0x120
 [<c10852fd>] ? check_object+0x13d/0x200
 [<c119a410>] ? xfs_file_ioctl+0x0/0x860
 [<c1096950>] ? vfs_ioctl+0x20/0x70
 [<c1096b4a>] ? do_vfs_ioctl+0x6a/0x5c0
 [<c104ea5b>] ? trace_hardirqs_on+0xb/0x10
 [<c1078f96>] ? remove_vma+0x56/0x70
 [<c1078f96>] ? remove_vma+0x56/0x70
 [<c1078f96>] ? remove_vma+0x56/0x70
 [<c1079e4b>] ? do_munmap+0x23b/0x280
 [<c10970d9>] ? sys_ioctl+0x39/0x70
 [<c1002d58>] ? sysenter_do_call+0x12/0x36

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-06-23 22:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <941396568.292261245481145500.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
2009-06-20  7:04 ` 2.6.30-06725: xfs_fsr: Assertion failed: ip->i_delayed_blks == 0, file: fs/xfs/xfs_bmap.c, line: 5991 Lachlan McIlroy
2009-06-20 18:01   ` Christoph Hellwig
2009-06-20 18:17     ` Alexander Beregalov
2009-06-23 22:51   ` Alexander Beregalov
     [not found] <175383275.303721245629906853.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
2009-06-22  0:29 ` Lachlan McIlroy
2009-06-18 19:31 Alexander Beregalov
2009-06-18 20:51 ` Christoph Hellwig
2009-06-18 22:04   ` Alexander Beregalov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.