Subject: Re: next-20080808 fs/nfsctl.c build error

From: David Howells <[email-masked]>
Date: Fri, 08 Aug 2008 23:58:26 +0100

James Morris <[email-masked]> wrote:

> In any case, it seems that linux/cred.h should include linux/sched.h to 
> provide a full definition of 'struct task_struct', so that 'current' can 
> be dereferenced (e.g. in current_cred()).

Not good.  That makes sched.h and cred.h recursively dependent.  sched.h
really needs splitting up, and the include dependencies need sorting.

However, for the moment I recommend the attached patch.

David
---
From: David Howells <[email-masked]>

CRED: Fix inclusion problems

Under certain configurations, some .c files obtain linux/sched.h and/or
linux/cred.h through other include files, but not under all configurations.

A couple of places (one in Coda, one in nfsd) need extra includes.

Signed-off-by: David Howells <[email-masked]>
---

 fs/coda/file.c |    1 +
 fs/nfsctl.c    |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/fs/coda/file.c b/fs/coda/file.c
index 5a87699..9d0d703 100644
--- a/fs/coda/file.c
+++ b/fs/coda/file.c
@@ -16,6 +16,7 @@
 #include <linux/errno.h>
 #include <linux/smp_lock.h>
 #include <linux/string.h>
+#include <linux/cred.h>
 #include <asm/uaccess.h>
 
 #include <linux/coda.h>
diff --git a/fs/nfsctl.c b/fs/nfsctl.c
index cc4ef26..358e469 100644
--- a/fs/nfsctl.c
+++ b/fs/nfsctl.c
@@ -14,6 +14,7 @@
 #include <linux/namei.h>
 #include <linux/mount.h>
 #include <linux/syscalls.h>
+#include <linux/sched.h>
 #include <asm/uaccess.h>
 
 /*