fs: use list_for_each_entry_reverse and kill sb_entry
Use list_for_each_entry_reverse for super_blocks list and remove unused sb_entry macro. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e8462caa91
commit
797074e44d
@ -515,8 +515,7 @@ writeback_inodes(struct writeback_control *wbc)
|
||||
might_sleep();
|
||||
spin_lock(&sb_lock);
|
||||
restart:
|
||||
sb = sb_entry(super_blocks.prev);
|
||||
for (; sb != sb_entry(&super_blocks); sb = sb_entry(sb->s_list.prev)) {
|
||||
list_for_each_entry_reverse(sb, &super_blocks, s_list) {
|
||||
if (sb_has_dirty_inodes(sb)) {
|
||||
/* we're making our own get_super here */
|
||||
sb->s_count++;
|
||||
@ -581,10 +580,8 @@ static void set_sb_syncing(int val)
|
||||
{
|
||||
struct super_block *sb;
|
||||
spin_lock(&sb_lock);
|
||||
sb = sb_entry(super_blocks.prev);
|
||||
for (; sb != sb_entry(&super_blocks); sb = sb_entry(sb->s_list.prev)) {
|
||||
list_for_each_entry_reverse(sb, &super_blocks, s_list)
|
||||
sb->s_syncing = val;
|
||||
}
|
||||
spin_unlock(&sb_lock);
|
||||
}
|
||||
|
||||
|
@ -977,7 +977,6 @@ extern int send_sigurg(struct fown_struct *fown);
|
||||
extern struct list_head super_blocks;
|
||||
extern spinlock_t sb_lock;
|
||||
|
||||
#define sb_entry(list) list_entry((list), struct super_block, s_list)
|
||||
#define S_BIAS (1<<30)
|
||||
struct super_block {
|
||||
struct list_head s_list; /* Keep this first */
|
||||
|
Loading…
Reference in New Issue
Block a user