diff options
author | David Howells <dhowells@redhat.com> | 2006-08-29 19:06:07 +0100 |
---|---|---|
committer | Jens Axboe <axboe@nelson.home.kernel.dk> | 2006-09-30 20:52:26 +0200 |
commit | 7b0de42d7c5a471741ede4e71727d88000e6ea59 (patch) | |
tree | 808b27ad3b2f4a83a97bcc4c001970fab96ff7b6 /fs | |
parent | 07f3f05c1e3052b8656129b2a5aca9f888241a34 (diff) | |
download | kernel_samsung_crespo-7b0de42d7c5a471741ede4e71727d88000e6ea59.zip kernel_samsung_crespo-7b0de42d7c5a471741ede4e71727d88000e6ea59.tar.gz kernel_samsung_crespo-7b0de42d7c5a471741ede4e71727d88000e6ea59.tar.bz2 |
[PATCH] BLOCK: Remove dependence on existence of blockdev_superblock [try #6]
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@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/fs-writeback.c | 6 | ||||
-rw-r--r-- | fs/internal.h | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 0639024..c403b66 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -319,7 +319,7 @@ sync_sb_inodes(struct super_block *sb, struct writeback_control *wbc) 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 @@ -336,14 +336,14 @@ sync_sb_inodes(struct super_block *sb, struct writeback_control *wbc) 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/fs/internal.h b/fs/internal.h index c21ecd3..f662b70 100644 --- a/fs/internal.h +++ b/fs/internal.h @@ -17,6 +17,8 @@ extern struct super_block *blockdev_superblock; extern void __init bdev_cache_init(void); +#define sb_is_blkdev_sb(sb) ((sb) == blockdev_superblock) + /* * char_dev.c */ |