Re: linux-next: Tree for August 13 (nfsd)

Previous thread: rfkill vs. HAL, 2.6.27-rc3 by Jim Paris on Tuesday, August 12, 2008 - 11:53 pm. (1 message)

Next thread: Multicast socket behaviour? by Daniel Ng on Wednesday, August 13, 2008 - 12:39 am. (1 message)
From: Stephen Rothwell
Date: Wednesday, August 13, 2008 - 12:24 am

Hi all,

Changes since next-20080812:

The ide tree lost its build fix patch.

The slab tree gained a conflict against linus' tree.

The kmemcheck tree gained 3 conflicts against the slab tree.

The ttydev tree lost a conflict.

I remerged Linus' tree at the end to reduce the size of the patches
(since -rc3 had been released).

I have also applied the following patches for known problems:

	Add cuImage.mpc866ads to the bootwrapper as a cuboot-8xx target
	xen-balloon: fix up sysfs issues
	ath9k: work around gcc ICE again
	usb: fix up use of usb_dbg

----------------------------------------------------------------------------

I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/sfr/linux-next.git
(patches at
http://www.kernel.org/pub/linux/kernel/people/sfr/linux-next/).  If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one.  You should use "git fetch" as mentioned in the FAQ on the wiki
(see below).

You can see which trees have been included by looking in the Next/Trees
file in the source.  There are also quilt-import.log and merge.log files
in the Next directory.  Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the
final fixups, it is also built with powerpc allnoconfig,
44x_defconfig and allyesconfig and i386, sparc and sparc64 defconfig.

Below is a summary of the state of the merge.

We are up to 108 trees (counting Linus' and 14 trees of patches pending for
Linus' tree), more are welcome (even if they are currently empty).
Thanks to those who have contributed, and to those who haven't, please do.

Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next .  If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.

Thanks to Jan Dittmer for adding the linux-next tree to ...
From: Takashi Iwai
Date: Wednesday, August 13, 2008 - 4:05 am

At Wed, 13 Aug 2008 17:24:52 +1000,

I got a problem regarding tty with today's tree.
When re-starting X, it complains that it cannot change to VT7.
Via strace, 

  open("/dev/tty0", O_WRONLY)             = 7
  ioctl(7, VIDIOC_QUERYCAP or VT_OPENQRY, 0x81e80c4) = 0
  close(7)                                = 0
  write(0, "(--) using VT number 7\n\n", 24) = 24
  getppid()                               = 3240
  getpgid(0xca8)                          = 3240
  setpgid(0, 3240)                        = 0
  setsid()                                = 3241
  open("/dev/vc/7", O_RDWR|O_NONBLOCK)    = -1 ENOENT (No such file or directory)
  open("/dev/tty7", O_RDWR|O_NONBLOCK)    = -1 EIO (Input/output error)
  write(2, "\nFatal server error:\n", 21) = 21

A similar error can be seen at shutdown, complains about the tty error
and the halt process hangs up.

Unfortunately it's hard to bisect since Aug 11 and Aug 12 trees don't
boot, and Aug 8 tree has a problem regarding cred...


thanks,

Takashi
--

From: Stephen Rothwell
Date: Wednesday, August 13, 2008 - 4:42 am

Hi Takashi,


But does -rc3 work?  If so, then could you bisect from there to
next-20080813?

--=20
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
From: Alan Cox
Date: Wednesday, August 13, 2008 - 6:08 am

Does this fix it

@@ -838,6 +839,7 @@ static int copy_signal(unsigned long clone_flags, struct task_struct *tsk)
 void __cleanup_signal(struct signal_struct *sig)
 {
 	exit_thread_group_keys(sig);
+	tty_kref_put(sig->tty);
 	kmem_cache_free(signal_cachep, sig);
 }
 
--

From: Takashi Iwai
Date: Wednesday, August 13, 2008 - 6:37 am

At Wed, 13 Aug 2008 14:08:11 +0100,

Thanks, will give it a try.

The above can't be applied as is to next tree, so the following is
applied instead.


Takashi
---
diff --git a/kernel/fork.c b/kernel/fork.c
index 600a264..2353660 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -834,6 +834,7 @@ static int copy_signal(unsigned long clone_flags, struct task_struct *tsk)
 
 void __cleanup_signal(struct signal_struct *sig)
 {
+	tty_kref_put(sig->tty);
 	kmem_cache_free(signal_cachep, sig);
 }
 
--

From: Takashi Iwai
Date: Wednesday, August 13, 2008 - 7:40 am

At Wed, 13 Aug 2008 15:37:15 +0200,

It oopsed with udevd at the early boot stage...

BUG: unable to handle kernel paging request at 4455003d
IP: [<c01e9b69>] kref_put+0x29/0x44
*pde = 00000000 
Oops: 0002 [#1] SMP 
last sysfs file: /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/timeout
Modules linked in: sd_mod crc_t10dif uhci_hcd ehci_hcd usbcore edd ext3 mbcache jbd fan ata_piix libata scsi_mod dock thermal processor

Pid: 638, comm: udevd Not tainted (2.6.27-rc3-next-20080813-next #1)
EIP: 0060:[<c01e9b69>] EFLAGS: 00010202 CPU: 1
EIP is at kref_put+0x29/0x44
EAX: 4455003d EBX: 4455003d ECX: c2005b8c EDX: 00000040
ESI: c023b9ed EDI: fffffdff EBP: f6adff08 ESP: f6adff00
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process udevd (pid: 638, ti=f6ade000 task=f6ac8000 task.ti=f6ade000)
Stack: f6a3a200 f6abeec0 f6adff10 c023c2dc f6adff1c c0123d30 f6abec90 f6adff58 
       c01252cf f6a3a200 00000082 f6adffb8 bfcc26a8 01200011 00000000 f6abee80 
       f6ac8000 f6abe080 00000000 f6adffb8 bfcc26a8 00000000 f6adff98 c012546f 
Call Trace:
 [<c023c2dc>] ? tty_kref_put+0x14/0x16
 [<c0123d30>] ? __cleanup_signal+0x11/0x20
 [<c01252cf>] ? copy_process+0xde7/0xec6
 [<c012546f>] ? do_fork+0xc1/0x1ff
 [<c0102447>] ? sys_clone+0x25/0x2a
 [<c010399b>] ? sysenter_do_call+0x12/0x2f
 =======================
Code: 5d c3 55 89 e5 56 89 d6 85 f6 ba 40 00 00 00 53 89 c3 74 0d 81 fe 63 cd 17 c0 75 0f ba 41 00 00 00 b8 aa 18 3c c0 e8 36 bf f3 ff <f0> ff 0b 0f 94 c0 31 d2 84 c0 74 09 89 d8 ff d6 ba 01 00 00 00 
EIP: [<c01e9b69>] kref_put+0x29/0x44 SS:ESP 0068:f6adff00
---[ end trace 2b6d2df1e77a968c ]---


Takashi
--

From: Takashi Iwai
Date: Thursday, August 14, 2008 - 2:57 am

At Wed, 13 Aug 2008 16:40:37 +0200,

Today's tree works fine.  Thanks!


Takashi
--

From: Randy Dunlap
Date: Wednesday, August 13, 2008 - 10:47 am

linux-next-20080813/fs/nfsd/nfs4state.c:259: error: implicit declaration of function 'vfs_setlease'
linux-next-20080813/fs/nfsd/nfs4state.c:1386: error: implicit declaration of function 'lease_modify'
make[3]: *** [fs/nfsd/nfs4state.o] Error 1


config attached.

---
~Randy
Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
http://linuxplumbersconf.org/
From: J. Bruce Fields
Date: Wednesday, August 13, 2008 - 11:09 am

Probably relevant pieces:

	# CONFIG_FILE_LOCKING is not set
	...
	CONFIG_NFSD=m
	CONFIG_NFSD_V3=y
	# CONFIG_NFSD_V3_ACL is not set
	CONFIG_NFSD_V4=y

Looks like that's just two more functions that need to be stubbed out in
the case where CONFIG_FILE_LOCKING is undefined?--hopefully Thomas
Petazzoni (cc'd) could be talked into reproducing this and sending me an
incremental fix....

--b.
--

From: Thomas Petazzoni
Date: Thursday, August 14, 2008 - 2:16 am

Le Wed, 13 Aug 2008 14:09:31 -0400,

Here is an incremental fix.

---

Fixup configure out fs locks support

This patch adds a few more stubs required to get NFS server to compile
properly with CONFIG_FILE_LOCKING=n.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

---
 include/linux/fs.h |    2 ++
 1 file changed, 2 insertions(+)

Index: linuxdev/include/linux/fs.h
===================================================================
--- linuxdev.orig/include/linux/fs.h
+++ linuxdev/include/linux/fs.h
@@ -1050,6 +1050,8 @@
 #define __break_lease(a, b) ({ 0; })
 #define lease_get_mtime(a, b) ({ })
 #define generic_setlease(a, b, c) ({ -EINVAL; })
+#define vfs_setlease(a, b, c) ({ -EINVAL; })
+#define lease_modify(a, b) ({ -EINVAL; })
 #define lock_may_read(a, b, c) ({ 1; })
 #define lock_may_write(a, b, c) ({ 1; })
 #endif /* !CONFIG_FILE_LOCKING */


-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com
--

From: Randy Dunlap
Date: Thursday, August 14, 2008 - 9:44 am

Acked-by: Randy Dunlap <randy.dunlap@oracle.com>


---
~Randy
Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
http://linuxplumbersconf.org/
--

From: J. Bruce Fields
Date: Thursday, August 14, 2008 - 3:47 pm

Thanks, I've updated the version in

        git://linux-nfs.org/~bfields/linux.git for-2.6.28

--

From: Thomas Petazzoni
Date: Monday, August 18, 2008 - 4:01 am

Le Thu, 14 Aug 2008 11:16:33 +0200,

Does it work for you ?

Sincerly,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com
--

Previous thread: rfkill vs. HAL, 2.6.27-rc3 by Jim Paris on Tuesday, August 12, 2008 - 11:53 pm. (1 message)

Next thread: Multicast socket behaviour? by Daniel Ng on Wednesday, August 13, 2008 - 12:39 am. (1 message)