From ddedde1dac6640a722545a253a79e15f5e70d2c7 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Sun, 2 Jun 2002 03:22:54 -0700 Subject: [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. --- include/linux/fs.h | 1 - include/linux/nfs_fs.h | 3 +++ include/linux/writeback.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) (limited to 'include/linux') 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 #include #include +#include #include @@ -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); -- cgit v1.2.3