Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux

Pull writeback fix from Wu Fengguang:
"A trivial writeback fix"

* tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
writeback: Do not sort b_io list only because of block device inode

+12 -4
+1 -1
fs/block_dev.c
··· 592 592 return bdev; 593 593 } 594 594 595 - static inline int sb_is_blkdev_sb(struct super_block *sb) 595 + int sb_is_blkdev_sb(struct super_block *sb) 596 596 { 597 597 return sb == blockdev_superblock; 598 598 }
+5 -3
fs/fs-writeback.c
··· 69 69 { 70 70 struct super_block *sb = inode->i_sb; 71 71 72 - if (strcmp(sb->s_type->name, "bdev") == 0) 72 + if (sb_is_blkdev_sb(sb)) 73 73 return inode->i_mapping->backing_dev_info; 74 74 75 75 return sb->s_bdi; ··· 251 251 if (work->older_than_this && 252 252 inode_dirtied_after(inode, *work->older_than_this)) 253 253 break; 254 + list_move(&inode->i_wb_list, &tmp); 255 + moved++; 256 + if (sb_is_blkdev_sb(inode->i_sb)) 257 + continue; 254 258 if (sb && sb != inode->i_sb) 255 259 do_sb_sort = 1; 256 260 sb = inode->i_sb; 257 - list_move(&inode->i_wb_list, &tmp); 258 - moved++; 259 261 } 260 262 261 263 /* just one sb in list, splice to dispatch_queue and we're done */
+6
include/linux/fs.h
··· 2069 2069 extern void emergency_thaw_all(void); 2070 2070 extern int thaw_bdev(struct block_device *bdev, struct super_block *sb); 2071 2071 extern int fsync_bdev(struct block_device *); 2072 + extern int sb_is_blkdev_sb(struct super_block *sb); 2072 2073 #else 2073 2074 static inline void bd_forget(struct inode *inode) {} 2074 2075 static inline int sync_blockdev(struct block_device *bdev) { return 0; } ··· 2088 2087 2089 2088 static inline void iterate_bdevs(void (*f)(struct block_device *, void *), void *arg) 2090 2089 { 2090 + } 2091 + 2092 + static inline int sb_is_blkdev_sb(struct super_block *sb) 2093 + { 2094 + return 0; 2091 2095 } 2092 2096 #endif 2093 2097 extern int sync_filesystem(struct super_block *);