public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] include buffer_head.h in actual users instead of fs.h (6/10)
@ 2002-05-23 12:27 Christoph Hellwig
  2002-05-23 19:29 ` Andrew Morton
  0 siblings, 1 reply; 2+ messages in thread
From: Christoph Hellwig @ 2002-05-23 12:27 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

Make the 7 file that need it in mm/ include buffer_head.h directly.
Once again most files shouln't need it and want fixing.


--- 1.91/mm/filemap.c	Sun May 19 13:49:50 2002
+++ edited/mm/filemap.c	Thu May 23 13:19:05 2002
@@ -20,6 +20,16 @@
 #include <linux/iobuf.h>
 #include <linux/hash.h>
 #include <linux/writeback.h>
+/*
+ * This is needed for the following functions:
+ *  - try_to_release_page
+ *  - block_flushpage
+ *  - page_has_buffers
+ *  - generic_osync_inode
+ *
+ * FIXME: remove all knowledge of the buffer layer from this file
+ */
+#include <linux/buffer_head.h>
 
 #include <asm/uaccess.h>
 #include <asm/mman.h>
--- 1.6/mm/mempool.c	Sat Apr 27 01:55:07 2002
+++ edited/mm/mempool.c	Thu May 23 13:19:05 2002
@@ -12,6 +12,7 @@
 #include <linux/slab.h>
 #include <linux/module.h>
 #include <linux/mempool.h>
+#include <linux/buffer_head.h>		/* for wakeup_bdflush() */
 
 static void add_element(mempool_t *pool, void *element)
 {
--- 1.17/mm/page-writeback.c	Tue May 21 19:09:28 2002
+++ edited/mm/page-writeback.c	Thu May 23 13:19:05 2002
@@ -478,7 +478,10 @@
  *
  * For now, we treat swapper_space specially.  It doesn't use the normal
  * block a_ops.
+ *
+ * FIXME: this should move over to fs/buffer.c - buffer_heads have no business in mm/
  */
+#include <linux/buffer_head.h>
 int __set_page_dirty_buffers(struct page *page)
 {
 	struct address_space * const mapping = page->mapping;
--- 1.16/mm/page_io.c	Wed May 22 03:20:04 2002
+++ edited/mm/page_io.c	Thu May 23 13:19:05 2002
@@ -15,6 +15,7 @@
 #include <linux/pagemap.h>
 #include <linux/swap.h>
 #include <linux/swapctl.h>
+#include <linux/buffer_head.h>		/* for brw_page() */
 
 #include <asm/pgtable.h>
 
--- 1.24/mm/swap_state.c	Sun May 19 13:49:48 2002
+++ edited/mm/swap_state.c	Thu May 23 13:19:05 2002
@@ -14,6 +14,7 @@
 #include <linux/init.h>
 #include <linux/pagemap.h>
 #include <linux/smp_lock.h>
+#include <linux/buffer_head.h>	/* for block_sync_page()/block_flushpage() */
 
 #include <asm/pgtable.h>
 
--- 1.45/mm/swapfile.c	Wed May 22 17:48:14 2002
+++ edited/mm/swapfile.c	Thu May 23 13:19:05 2002
@@ -16,7 +16,7 @@
 #include <linux/namei.h>
 #include <linux/shm.h>
 #include <linux/blkdev.h>
-#include <linux/compiler.h>
+#include <linux/buffer_head.h>		/* for block_flushpage() */
 
 #include <asm/pgtable.h>
 
--- 1.71/mm/vmscan.c	Wed May 22 01:33:38 2002
+++ edited/mm/vmscan.c	Thu May 23 13:25:52 2002
@@ -22,8 +22,8 @@
 #include <linux/highmem.h>
 #include <linux/file.h>
 #include <linux/writeback.h>
-#include <linux/compiler.h>
 #include <linux/suspend.h>
+#include <linux/buffer_head.h>		/* for try_to_release_page() */
 
 #include <asm/pgalloc.h>
 #include <asm/tlbflush.h>

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] include buffer_head.h in actual users instead of fs.h (6/10)
  2002-05-23 12:27 [PATCH] include buffer_head.h in actual users instead of fs.h (6/10) Christoph Hellwig
@ 2002-05-23 19:29 ` Andrew Morton
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2002-05-23 19:29 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: linux-kernel

Christoph Hellwig wrote:
> 
> Make the 7 file that need it in mm/ include buffer_head.h directly.
> Once again most files shouln't need it and want fixing.

Yup.  In fact, some declarations need to be moved out of
buffer_head.h.

> --- 1.91/mm/filemap.c   Sun May 19 13:49:50 2002
> +++ edited/mm/filemap.c Thu May 23 13:19:05 2002
> @@ -20,6 +20,16 @@
>  #include <linux/iobuf.h>
>  #include <linux/hash.h>
>  #include <linux/writeback.h>
> +/*
> + * This is needed for the following functions:
> + *  - try_to_release_page

This isn't buffer-specific; should be in mm.h or similar.

> + *  - block_flushpage

Should never be called - all callers should call
call a_ops->flushpage() (and rename it to
invalidatepage, for heavens sake)

> + *  - page_has_buffers

well hopefully we can do something a little tidier than
all the invalidate_foo2() functions.  But that's in fact
a happens-to-not-matter bug. Should be using PagePrivate()
in invalidate_this_page2()

> + *  - generic_osync_inode

Sigh.  Needs to be pushed out to generic_file_write()
callers, I suspect.

etc...

-

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-05-23 19:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-23 12:27 [PATCH] include buffer_head.h in actual users instead of fs.h (6/10) Christoph Hellwig
2002-05-23 19:29 ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox