[PATCH 07/17] BLOCK: Remove dependence on existence of blockdev_superblock [try #2]

From: David Howells
Date: Thu Aug 24 2006 - 17:33:07 EST


From: David Howells <dhowells@xxxxxxxxxx>

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 <dhowells@xxxxxxxxxx>
---

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 <linux/blkdev.h>
#include <linux/backing-dev.h>
#include <linux/buffer_head.h>

-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 41a643f..e3f30d5 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -16,6 +16,10 @@ #include <linux/stringify.h>

#include <asm/scatterlist.h>

+extern struct super_block *blockdev_superblock;
+
+#define sb_is_blkdev_sb(sb) ((sb) == blockdev_superblock)
+
struct scsi_ioctl_command;

struct request_queue;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/