mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Stresslinux Kernel <lk@stresslinux.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.6.20.2: kernel BUG at fs/nfs/write.c:505!
Date: Mon, 12 Mar 2007 13:00:31 -0400	[thread overview]
Message-ID: <1173718831.6436.30.camel@heimdal.trondhjem.org> (raw)
In-Reply-To: <45F5582C.1050100@stresslinux.org>

[-- Attachment #1: Type: text/plain, Size: 2244 bytes --]

On Mon, 2007-03-12 at 14:39 +0100, Stresslinux Kernel wrote:
> Hello List,
> 
> running the following command
> 
> /sbin/grub-install --root-directory=/mnt --no-floppy /dev/sda
> 
> from a nfsroot system with kernel 2.6.20.2 (x86_64) results in:
> 
> ------------[ cut here ]------------
> kernel BUG at fs/nfs/write.c:505!
> invalid opcode: 0000 [1] SMP
> CPU 0
> Modules linked in: ipv6 genrtc
> Pid: 1464, comm: grub-install Not tainted 2.6.20.2 #1
> RIP: 0010:[<ffffffff8032fb83>]  [<ffffffff8032fb83>] nfs_wait_on_requests_locked+0x43/0xb2
> RSP: 0018:ffff81007d669ca8  EFLAGS: 00010246
> RAX: 00000000fffff0ba RBX: 0000000000000000 RCX: ffffffff802917aa
> RDX: 0000000000000000 RSI: ffff81007d669cb0 RDI: ffff810002f5f9d8
> RBP: ffff810002f5f898 R08: 0000000000000001 R09: 0000000000000286
> R10: 7fffffffffffffff R11: 0000000000000286 R12: 74d83948d2310001
> R13: 0000000000000000 R14: ffffffffffffffff R15: 0000000000000000
> FS:  00002b24eb8214a0(0000) GS:ffffffff809d6000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: 0000000000596d88 CR3: 000000007d594000 CR4: 00000000000006e0
> Process grub-install (pid: 1464, threadinfo ffff81007d668000, task ffff81007e885840)
> Stack:  ffff810002f5f898 ffffffff802917aa 0000000000000000 ffff810002f5fb58
>  0000000000000020 ffff810002f5f898 ffff81007d669da8 ffffffff80331245
>  000000000000002e ffff81007d669e48 0000000000000020 0000000000000000
> Call Trace:
>  [<ffffffff802917aa>] bd_forget+0x8d/0x8e
>  [<ffffffff80331245>] nfs_sync_mapping_wait+0xbe/0x1ec
>  [<ffffffff80331486>] nfs_sync_mapping_range+0x80/0xa1
>  [<ffffffff80328a1c>] nfs_getattr+0x2e/0x9b
>  [<ffffffff80272313>] vfs_getattr+0x1d/0x2b
>  [<ffffffff802723aa>] vfs_lstat_fd+0x2f/0x47
>  [<ffffffff8021c3ce>] do_page_fault+0x279/0x572
>  [<ffffffff80237c17>] do_sigaction+0x6b/0x1b0
>  [<ffffffff8027270a>] sys_newlstat+0x19/0x31
>  [<ffffffff807231ed>] error_exit+0x0/0x84
>  [<ffffffff80209dde>] system_call+0x7e/0x83
> 
> 
> Code: 0f 0b eb fe f0 ff 41 44 c7 85 18 01 00 00 01 00 00 00 48 8b
> RIP  [<ffffffff8032fb83>] nfs_wait_on_requests_locked+0x43/0xb2
>  RSP <ffff81007d669ca8>

Known issue. There is already a fix available in the -mm kernel
(attached).

Cheers
  Trond


[-- Attachment #2: linux-2.6.20-001-fix_block_device_getattr.dif --]
[-- Type: text/plain, Size: 818 bytes --]

commit 090ad38f8ceea3cc048981e9fe9cc62ed43fee58
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Tue Feb 20 19:28:07 2007 -0500

    NFS: nfs_getattr() can't call nfs_sync_mapping_range() for non-regular files
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index af53c02..93d046c 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -429,7 +429,8 @@ int nfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
 	int err;
 
 	/* Flush out writes to the server in order to update c/mtime */
-	nfs_sync_mapping_range(inode->i_mapping, 0, 0, FLUSH_NOCOMMIT);
+	if (S_ISREG(inode->i_mode))
+		nfs_sync_mapping_range(inode->i_mapping, 0, 0, FLUSH_NOCOMMIT);
 
 	/*
 	 * We may force a getattr if the user cares about atime.

  reply	other threads:[~2007-03-12 17:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-12 13:39 Stresslinux Kernel
2007-03-12 17:00 ` Trond Myklebust [this message]
2007-03-12 17:13   ` Dave Jones
2007-03-12 17:17     ` Trond Myklebust

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=1173718831.6436.30.camel@heimdal.trondhjem.org \
    --to=trond.myklebust@fys.uio.no \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lk@stresslinux.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®