Commit 6536e312 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

mm: fix warnings regarding enum migrate_mode

sparc64 allmodconfig:

In file included from include/linux/compat.h:15,
                 from /usr/src/25/arch/sparc/include/asm/siginfo.h:19,
                 from include/linux/signal.h:5,
                 from include/linux/sched.h:73,
                 from arch/sparc/kernel/asm-offsets.c:13:
include/linux/fs.h:618: warning: parameter has incomplete type

It seems that my sparc64 compiler (gcc-3.4.5) doesn't like the forward
declaration of enums.

Fix this by moving the "enum migrate_mode" definition into its own header
file.
Acked-by: default avatarMel Gorman <mgorman@suse.de>
Cc: Rik van Riel <riel@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Minchan Kim <minchan.kim@gmail.com>
Cc: Dave Jones <davej@redhat.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Andy Isaacson <adi@hexapodia.org>
Cc: Nai Xia <nai.xia@gmail.com>
Cc: Johannes Weiner <jweiner@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent dcd6c922
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <linux/ioctl.h> #include <linux/ioctl.h>
#include <linux/blk_types.h> #include <linux/blk_types.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/migrate_mode.h>
/* /*
* It's silly to have NR_OPEN bigger than NR_FILE, but you can change * It's silly to have NR_OPEN bigger than NR_FILE, but you can change
...@@ -526,7 +527,6 @@ enum positive_aop_returns { ...@@ -526,7 +527,6 @@ enum positive_aop_returns {
struct page; struct page;
struct address_space; struct address_space;
struct writeback_control; struct writeback_control;
enum migrate_mode;
struct iov_iter { struct iov_iter {
const struct iovec *iov; const struct iovec *iov;
......
...@@ -3,22 +3,10 @@ ...@@ -3,22 +3,10 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/mempolicy.h> #include <linux/mempolicy.h>
#include <linux/migrate_mode.h>
typedef struct page *new_page_t(struct page *, unsigned long private, int **); typedef struct page *new_page_t(struct page *, unsigned long private, int **);
/*
* MIGRATE_ASYNC means never block
* MIGRATE_SYNC_LIGHT in the current implementation means to allow blocking
* on most operations but not ->writepage as the potential stall time
* is too significant
* MIGRATE_SYNC will block when migrating pages
*/
enum migrate_mode {
MIGRATE_ASYNC,
MIGRATE_SYNC_LIGHT,
MIGRATE_SYNC,
};
#ifdef CONFIG_MIGRATION #ifdef CONFIG_MIGRATION
#define PAGE_MIGRATION 1 #define PAGE_MIGRATION 1
......
#ifndef MIGRATE_MODE_H_INCLUDED
#define MIGRATE_MODE_H_INCLUDED
/*
* MIGRATE_ASYNC means never block
* MIGRATE_SYNC_LIGHT in the current implementation means to allow blocking
* on most operations but not ->writepage as the potential stall time
* is too significant
* MIGRATE_SYNC will block when migrating pages
*/
enum migrate_mode {
MIGRATE_ASYNC,
MIGRATE_SYNC_LIGHT,
MIGRATE_SYNC,
};
#endif /* MIGRATE_MODE_H_INCLUDED */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment