All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <npiggin@suse.de>
To: Stephen Hemminger <shemminger@vyatta.com>
Cc: linux-fsdevel@vger.kernel.org, Al Viro <viro@zeniv.linux.org.uk>
Subject: Re: Many warnings on 2.6.29 from your sync_single_inode warning
Date: Thu, 28 May 2009 08:03:33 +0200	[thread overview]
Message-ID: <20090528060333.GA6920@wotan.suse.de> (raw)
In-Reply-To: <20090526110621.261c8a1b@nehalam>

On Tue, May 26, 2009 at 11:06:21AM -0700, Stephen Hemminger wrote:
> The WARN_ON you introduced in     
>  fs: new inode i_state corruption fix
>     
> Triggers every time during our regression test. The regression test runs
> on a VM under VMWare. Any ideas?

Thanks. Adding linux-fsdevel.

I guess you're mounting with -osync or -odirsync, or opening with O_SYNC?

I think it's a false positive. The filesystem code syncs the inode to disk
just after creating it but before doing an unlock_new_inode on it to
clear I_NEW. I believe this should not result in any race, because it is
called by the guy who has created the inode and he never clears I_NEW. The
race came about when pdflush would be able to perform writeout in this
window, and non-atomic updates of i_state would race with the creator when
they are messing with i_state (without inode_lock held, because inode is
new).

We could add some convoluted checks to try to allow for this, but I think
we might as well just rip out the checks...

Would anyone prefer me to try to keep them? If not, I'll send a patch to
rip them out.


> 
> May 26 02:20:59 vyatta ntpd[2792]: ntpd 4.2.4p6@1.1549-o Tue Mar 10 02:08:20 UTC 2009 (1)
> 
> May 26 02:20:59 vyatta ntpd[2793]: Warning: the "dynamic" keyword has been obsoleted and will be removed in the next release 
> 
> May 26 02:20:59 vyatta last message repeated 3 times
> 
> May 25 19:21:55 vyatta kernel: [   99.490294] ------------[ cut here ]------------
> 
> May 25 19:21:55 vyatta kernel: [   99.490314] WARNING: at fs/fs-writeback.c:292 __writeback_single_inode+0x150/0x35f()
> 
> May 25 19:21:55 vyatta kernel: [   99.490349] Hardware name: VMware Virtual Platform
> 
> May 25 19:21:55 vyatta kernel: [   99.490386] Modules linked in: iptable_nat ip6table_filter iptable_filter ip6table_raw ip6_tables xt_NOTRACK iptable_raw ip_tables x_tables nf_nat_pptp nf_conntrack_pptp nf_conntrack_proto_gre nf_nat_h323 nf_conntrack_h323 nf_nat_sip nf_conntrack_sip nf_nat_proto_gre nf_nat_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_tftp nf_conntrack_ftp nf_conntrack ipv6 md_mod parport_pc parport container psmouse serio_raw pcspkr i2c_piix4 i2c_core button shpchp pci_hotplug intel_agp ac agpgart evdev vfat fat ext2 mbcache battery squashfs loop unionfs nls_utf8 isofs nls_base zlib_inflate sg sr_mod cdrom floppy mptspi mptscsih mptbase scsi_transport_spi pcnet32 mii ata_piix pata_acpi ata_generic libata scsi_mod thermal processor fan thermal_sys
 
> 
> May 25 19:21:55 vyatta kernel: [   99.490713] Pid: 3483, comm: mkdir Not tainted 2.6.29-1-586-vyatta #1
> 
> May 25 19:21:55 vyatta kernel: [   99.490755] Call Trace:
> 
> May 25 19:21:55 vyatta kernel: [   99.491060]  [<c0122288>] warn_slowpath+0x80/0xb6
> 
> May 25 19:21:55 vyatta kernel: [   99.491093]  [<c02d8a8d>] schedule+0x688/0x6f3
> 
> May 25 19:21:55 vyatta kernel: [   99.491103]  [<c0137eea>] getnstimeofday+0x51/0xd7
> 
> May 25 19:21:55 vyatta kernel: [   99.491111]  [<c01343ad>] ktime_get_ts+0x22/0x49
> 
> May 25 19:21:55 vyatta kernel: [   99.491119]  [<c0152d90>] delayacct_end+0x70/0x77
> 
> May 25 19:21:55 vyatta kernel: [   99.491123]  [<c0152de8>] __delayacct_blkio_end+0x2f/0x32
> 
> May 25 19:21:55 vyatta kernel: [   99.491127]  [<c02d8b63>] io_schedule+0x6b/0x87
> 
> May 25 19:21:55 vyatta kernel: [   99.491131]  [<c02d8e69>] __wait_on_bit+0x50/0x58
> 
> May 25 19:21:55 vyatta kernel: [   99.491142]  [<c015abb8>] sync_page+0x0/0x36
> 
> May 25 19:21:55 vyatta kernel: [   99.491148]  [<c019020c>] __writeback_single_inode+0x150/0x35f
> 
> May 25 19:21:55 vyatta kernel: [   99.491152]  [<c01317dd>] wake_bit_function+0x0/0x3c
> 
> May 25 19:21:55 vyatta kernel: [   99.491157]  [<c015fa39>] write_one_page+0xa3/0xb8
> 
> May 25 19:21:55 vyatta kernel: [   99.491161]  [<c0190434>] sync_inode+0x19/0x23
> 
> May 25 19:21:55 vyatta kernel: [   99.491562]  [<d09bdfe4>] ext2_sync_inode+0x26/0x2c [ext2]
> 
> May 25 19:21:55 vyatta kernel: [   99.491577]  [<d09bca65>] ext2_make_empty+0x165/0x17b [ext2]
> 
> May 25 19:21:55 vyatta kernel: [   99.491589]  [<d09bfc8a>] ext2_mkdir+0x9c/0x105 [ext2]
> 
> May 25 19:21:55 vyatta kernel: [   99.491607]  [<c0183231>] vfs_mkdir+0x51/0x95
> 
> May 25 19:21:55 vyatta kernel: [   99.491613]  [<c01842e8>] sys_mkdirat+0x97/0xd0
> 
> May 25 19:21:55 vyatta kernel: [   99.491621]  [<c016d78b>] remove_vma+0x3e/0x43
> 
> May 25 19:21:55 vyatta kernel: [   99.491625]  [<c016e351>] do_munmap+0x1ed/0x207
> 
> May 25 19:21:55 vyatta kernel: [   99.491633]  [<c0184330>] sys_mkdir+0xf/0x13
> 
> May 25 19:21:55 vyatta kernel: [   99.491638]  [<c0102f12>] syscall_call+0x7/0xb
> 
> May 25 19:21:55 vyatta kernel: [   99.491746] ---[ end trace 70fa05fb7550612c ]---
> 
> May 25 19:21:55 vyatta kernel: [   99.513627] ------------[ cut here ]------------
> 
> May 25 19:21:55 vyatta kernel: [   99.513633] WARNING: at fs/fs-writeback.c:317 __writeback_single_inode+0x202/0x35f()
> 
> May 25 19:21:55 vyatta kernel: [   99.513636] Hardware name: VMware Virtual Platform
> 
> May 25 19:21:55 vyatta kernel: [   99.513638] Modules linked in: iptable_nat ip6table_filter iptable_filter ip6table_raw ip6_tables xt_NOTRACK iptable_raw ip_tables x_tables nf_nat_pptp nf_conntrack_pptp nf_conntrack_proto_gre nf_nat_h323 nf_conntrack_h323 nf_nat_sip nf_conntrack_sip nf_nat_proto_gre nf_nat_tftp nf_nat_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack_tftp nf_conntrack_ftp nf_conntrack ipv6 md_mod parport_pc parport container psmouse serio_raw pcspkr i2c_piix4 i2c_core button shpchp pci_hotplug intel_agp ac agpgart evdev vfat fat ext2 mbcache battery squashfs loop unionfs nls_utf8 isofs nls_base zlib_inflate sg sr_mod cdrom floppy mptspi mptscsih mptbase scsi_transport_spi pcnet32 mii ata_piix pata_acpi ata_generic libata scsi_mod thermal processor fan thermal_sys
 
> 
> May 25 19:21:55 vyatta kernel: [   99.513784] Pid: 3483, comm: mkdir Tainted: G        W  2.6.29-1-586-vyatta #1
> 
> May 25 19:21:55 vyatta kernel: [   99.513788] Call Trace:
> 
> May 25 19:21:55 vyatta kernel: [   99.513794]  [<c0122288>] warn_slowpath+0x80/0xb6
> 
> May 25 19:21:55 vyatta kernel: [   99.513799]  [<c015a7a6>] find_get_pages_tag+0x35/0xd5
> 
> May 25 19:21:55 vyatta kernel: [   99.513805]  [<c02d8b63>] io_schedule+0x6b/0x87
> 
> May 25 19:21:55 vyatta kernel: [   99.513810]  [<c0161053>] pagevec_lookup_tag+0x1b/0x22
> 
> May 25 19:21:55 vyatta kernel: [   99.513814]  [<c015b4ac>] wait_on_page_writeback_range+0x9d/0xde
> 
> May 25 19:21:55 vyatta kernel: [   99.513819]  [<c0194e37>] __wait_on_buffer+0x16/0x18
> 
> May 25 19:21:55 vyatta kernel: [   99.513827]  [<c01951e3>] sync_dirty_buffer+0x54/0x87
> 
> May 25 19:21:55 vyatta kernel: [   99.513841]  [<d09be355>] ext2_update_inode+0x28a/0x2c4 [ext2]
> 
> May 25 19:21:55 vyatta kernel: [   99.513846]  [<c01902be>] __writeback_single_inode+0x202/0x35f
> 
> May 25 19:21:55 vyatta kernel: [   99.513851]  [<c015fa39>] write_one_page+0xa3/0xb8
> 
> May 25 19:21:55 vyatta kernel: [   99.513855]  [<c0190434>] sync_inode+0x19/0x23
> 
> May 25 19:21:55 vyatta kernel: [   99.513867]  [<d09bdfe4>] ext2_sync_inode+0x26/0x2c [ext2]
> 
> May 25 19:21:55 vyatta kernel: [   99.513879]  [<d09bca65>] ext2_make_empty+0x165/0x17b [ext2]
> 
> May 25 19:21:55 vyatta kernel: [   99.513890]  [<d09bfc8a>] ext2_mkdir+0x9c/0x105 [ext2]
> 
> May 25 19:21:55 vyatta kernel: [   99.513897]  [<c0183231>] vfs_mkdir+0x51/0x95
> 
> May 25 19:21:55 vyatta kernel: [   99.513901]  [<c01842e8>] sys_mkdirat+0x97/0xd0
> 
> May 25 19:21:55 vyatta kernel: [   99.513905]  [<c016d78b>] remove_vma+0x3e/0x43
> 
> May 25 19:21:55 vyatta kernel: [   99.513909]  [<c016e351>] do_munmap+0x1ed/0x207
> 
> May 25 19:21:55 vyatta kernel: [   99.513914]  [<c0184330>] sys_mkdir+0xf/0x13
> 
> May 25 19:21:55 vyatta kernel: [   99.513918]  [<c0102f12>] syscall_call+0x7/0xb
> 
> May 25 19:21:55 vyatta kernel: [   99.513921] ---[ end trace 70fa05fb7550612d ]---

       reply	other threads:[~2009-05-28  6:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20090526110621.261c8a1b@nehalam>
2009-05-28  6:03 ` Nick Piggin [this message]
2009-05-28 15:07   ` Many warnings on 2.6.29 from your sync_single_inode warning Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090528060333.GA6920@wotan.suse.de \
    --to=npiggin@suse.de \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=shemminger@vyatta.com \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.