* [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