From mboxrd@z Thu Jan 1 00:00:00 1970 From: Denis Cheng Subject: [PATCH 1/2] [fs-devel] the real needs of just_schedule Date: Wed, 7 May 2008 01:51:03 +0800 Message-ID: <1210096264-27426-1-git-send-email-crquan@gmail.com> Cc: linux-fsdevel@vger.kernel.org, cluster-devel@redhat.com, linux-kernel@vger.kernel.org To: Al Viro , Steven Whitehouse Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: cluster-devel-bounces@redhat.com Errors-To: cluster-devel-bounces@redhat.com List-Id: linux-fsdevel.vger.kernel.org there are some situations which really need a just schedule, with int return value; and this should be moved into lib/ in the future. Signed-off-by: Denis Cheng --- fs/inode.c | 2 +- include/linux/writeback.h | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/fs/inode.c b/fs/inode.c index bf64781..b355a44 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -1291,7 +1291,7 @@ int inode_needs_sync(struct inode *inode) EXPORT_SYMBOL(inode_needs_sync); -int inode_wait(void *word) +int just_schedule(void *word) { schedule(); return 0; diff --git a/include/linux/writeback.h b/include/linux/writeback.h index f462439..80ff5eb 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h @@ -67,23 +67,31 @@ struct writeback_control { /* * fs/fs-writeback.c - */ + */ void writeback_inodes(struct writeback_control *wbc); -int inode_wait(void *); void sync_inodes_sb(struct super_block *, int wait); void sync_inodes(int wait); +/* + * fs/inode.c + * + * there are some situations which really need a just schedule, + * with int return value; + * and this should be moved into lib/ in the future. + */ +int just_schedule(void *); + /* writeback.h requires fs.h; it, too, is not included from here. */ static inline void wait_on_inode(struct inode *inode) { might_sleep(); - wait_on_bit(&inode->i_state, __I_LOCK, inode_wait, + wait_on_bit(&inode->i_state, __I_LOCK, just_schedule, TASK_UNINTERRUPTIBLE); } static inline void inode_sync_wait(struct inode *inode) { might_sleep(); - wait_on_bit(&inode->i_state, __I_SYNC, inode_wait, + wait_on_bit(&inode->i_state, __I_SYNC, just_schedule, TASK_UNINTERRUPTIBLE); } -- 1.5.5.1