Re: [PATCH] fs/jfs: fix error due to PF_* undeclared

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Randy Dunlap wrote:
On Fri, 08 Dec 2006 19:56:20 +0100 Richard Knutsson wrote:

  CC [M]  fs/jfs/jfs_txnmgr.o
In file included from fs/jfs/jfs_txnmgr.c:49:
include/linux/freezer.h: In function ‘frozen’:
include/linux/freezer.h:9: error: dereferencing pointer to incomplete type
include/linux/freezer.h:9: error: ‘PF_FROZEN’ undeclared (first use in this function)
<snip>
fs/jfs/jfs_txnmgr.c: In function ‘freezing’:
include/linux/freezer.h:18: warning: control reaches end of non-void function
make[2]: *** [fs/jfs/jfs_txnmgr.o] Error 1
make[1]: *** [fs/jfs] Error 2
make: *** [fs] Error 2

Signed-off-by: Richard Knutsson <[email protected]>

---

Guess this is the desired fix, since including linux/sched.h in linux/freezer.h
make little sense.

Why do you say that?  freezer.h is what uses those #defined values,
and freezer.h is what uses struct task_struct fields as well,
so it needs sched.h.
Oh, an error of thought when I read the patch 7dfb71030f7636a0d65200158113c37764552f93 made that statement. After more checking, sched.h is apperarently included in suspend.h from swap.h so the direct include of sched.h in most drivers was/is not nessecary.

Do you agree with the patch below then? This was how I first fixed it but found it strange no-one hit it before, and from there it went on... Thanks for the help. (Sign it?)
diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c
index d558e51..2aee0a8 100644
--- a/fs/jfs/jfs_txnmgr.c
+++ b/fs/jfs/jfs_txnmgr.c
@@ -46,6 +46,7 @@ #include <linux/fs.h>
 #include <linux/vmalloc.h>
 #include <linux/smp_lock.h>
 #include <linux/completion.h>
+#include <linux/sched.h>
 #include <linux/freezer.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>

 CC [M]  fs/jfs/jfs_txnmgr.o
In file included from fs/jfs/jfs_txnmgr.c:49:
include/linux/freezer.h: In function ‘frozen’:
include/linux/freezer.h:9: error: dereferencing pointer to incomplete type
include/linux/freezer.h:9: error: ‘PF_FROZEN’ undeclared (first use in this function)
<snip>
fs/jfs/jfs_txnmgr.c: In function ‘freezing’:
include/linux/freezer.h:18: warning: control reaches end of non-void function
make[2]: *** [fs/jfs/jfs_txnmgr.o] Error 1
make[1]: *** [fs/jfs] Error 2
make: *** [fs] Error 2

Signed-off-by: Richard Knutsson <[email protected]>

---

Compile-tested only.


diff --git a/include/linux/freezer.h b/include/linux/freezer.h
index 6e05e3e..f616c0c 100644
--- a/include/linux/freezer.h
+++ b/include/linux/freezer.h
@@ -1,3 +1,4 @@
+#include <linux/sched.h>
/* Freezer declarations */

#ifdef CONFIG_PM


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux