From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Howells Subject: [PATCH 07/18] [PATCH] BLOCK: Remove dependence on existence of blockdev_superblock [try #3] Date: Fri, 25 Aug 2006 15:49:31 +0100 Message-ID: <20060825144931.30722.43302.stgit@warthog.cambridge.redhat.com> References: <20060825144916.30722.90944.stgit@warthog.cambridge.redhat.com> Content-Type: text/plain; charset=utf-8; format=fixed Content-Transfer-Encoding: 8bit Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, dhowells@redhat.com Return-path: Received: from mx1.redhat.com ([66.187.233.31]:11393 "EHLO mx1.redhat.com") by vger.kernel.org with ESMTP id S1030206AbWHYOtj (ORCPT ); Fri, 25 Aug 2006 10:49:39 -0400 To: axboe@kernel.dk In-Reply-To: <20060825144916.30722.90944.stgit@warthog.cambridge.redhat.com> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org From: David Howells Move blockdev_superblock extern declaration from fs/fs-writeback.c to a headerfile and remove the dependence on it by wrapping it in a macro. Signed-Off-By: David Howells --- fs/fs-writeback.c | 8 +++----- include/linux/blkdev.h | 4 ++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 892643d..d9de186 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -23,8 +23,6 @@ #include #include #include -extern struct super_block *blockdev_superblock; - /** * __mark_inode_dirty - internal function * @inode: inode to mark @@ -320,7 +318,7 @@ sync_sb_inodes(struct super_block *sb, s if (!bdi_cap_writeback_dirty(bdi)) { list_move(&inode->i_list, &sb->s_dirty); - if (sb == blockdev_superblock) { + if (sb_is_blkdev_sb(sb)) { /* * Dirty memory-backed blockdev: the ramdisk * driver does this. Skip just this inode @@ -337,14 +335,14 @@ sync_sb_inodes(struct super_block *sb, s if (wbc->nonblocking && bdi_write_congested(bdi)) { wbc->encountered_congestion = 1; - if (sb != blockdev_superblock) + if (!sb_is_blkdev_sb(sb)) break; /* Skip a congested fs */ list_move(&inode->i_list, &sb->s_dirty); continue; /* Skip a congested blockdev */ } if (wbc->bdi && bdi != wbc->bdi) { - if (sb != blockdev_superblock) + if (!sb_is_blkdev_sb(sb)) break; /* fs has the wrong queue */ list_move(&inode->i_list, &sb->s_dirty); continue; /* blockdev has wrong queue */ diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 04a11f7..311538e 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -16,6 +16,10 @@ #include #include +extern struct super_block *blockdev_superblock; + +#define sb_is_blkdev_sb(sb) ((sb) == blockdev_superblock) + struct scsi_ioctl_command; struct request_queue;