summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorAndrew Morton <akpm@zip.com.au>2002-06-02 03:22:54 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-06-02 03:22:54 -0700
commitddedde1dac6640a722545a253a79e15f5e70d2c7 (patch)
treed25f2a213034283d047a7136677cf13b41098434 /include/linux
parente40df2d9b919047174da8fa895c83578764b7440 (diff)
[PATCH] remove inode.i_wait
Remove i_wait from struct inode and hash it instead. This is a pure space-saving exercise - 12 bytes from struct inode on x86. NFS was using i_wait for its own purposes. Add a wait_queue_head_t to the fs-private inode for that. This change has been acked by Trond.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fs.h1
-rw-r--r--include/linux/nfs_fs.h3
-rw-r--r--include/linux/writeback.h1
3 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 31a691491a9f..1b01db32cc35 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -383,7 +383,6 @@ struct inode {
struct inode_operations *i_op;
struct file_operations *i_fop; /* former ->i_op->default_file_ops */
struct super_block *i_sb;
- wait_queue_head_t i_wait;
struct file_lock *i_flock;
struct address_space *i_mapping;
struct address_space i_data;
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
index 027986b2f336..64c3b5ef2d88 100644
--- a/include/linux/nfs_fs.h
+++ b/include/linux/nfs_fs.h
@@ -13,6 +13,7 @@
#include <linux/in.h>
#include <linux/mm.h>
#include <linux/pagemap.h>
+#include <linux/wait.h>
#include <linux/nfs_fs_sb.h>
@@ -159,6 +160,8 @@ struct nfs_inode {
/* Credentials for shared mmap */
struct rpc_cred *mm_cred;
+ wait_queue_head_t nfs_i_wait;
+
struct inode vfs_inode;
};
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index 5f035892d26f..cf706c783eda 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -31,6 +31,7 @@ static inline int current_is_pdflush(void)
void writeback_unlocked_inodes(int *nr_to_write, int sync_mode,
unsigned long *older_than_this);
+void wake_up_inode(struct inode *inode);
void __wait_on_inode(struct inode * inode);
void sync_inodes_sb(struct super_block *, int wait);
void sync_inodes(int wait);