diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-16 10:45:38 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-16 10:45:38 -0400 |
| commit | a3eb51ecfa1d7be689f05c9f12cb0fcf862c516e (patch) | |
| tree | 9995b3b9207c18a58ce99700f569b7bc2877e23c /include/linux | |
| parent | fdaa45e95d2ef59a140d2fb2e487141f83f5a07c (diff) | |
| parent | 1ef7d9aa32a8ee054c4d4fdcd2ea537c04d61b2f (diff) | |
Merge branch 'writeback' of git://git.kernel.dk/linux-2.6-block
* 'writeback' of git://git.kernel.dk/linux-2.6-block:
writeback: fix possible bdi writeback refcounting problem
writeback: Fix bdi use after free in wb_work_complete()
writeback: improve scalability of bdi writeback work queues
writeback: remove smp_mb(), it's not needed with list_add_tail_rcu()
writeback: use schedule_timeout_interruptible()
writeback: add comments to bdi_work structure
writeback: splice dirty inode entries to default bdi on bdi_destroy()
writeback: separate starting of sync vs opportunistic writeback
writeback: inline allocation failure handling in bdi_alloc_queue_work()
writeback: use RCU to protect bdi_list
writeback: only use bdi_writeback_all() for WB_SYNC_NONE writeout
fs: Assign bdi in super_block
writeback: make wb_writeback() take an argument structure
writeback: merely wakeup flusher thread if work allocation fails for WB_SYNC_NONE
writeback: get rid of wbc->for_writepages
fs: remove bdev->bd_inode_backing_dev_info
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/backing-dev.h | 3 | ||||
| -rw-r--r-- | include/linux/fs.h | 2 | ||||
| -rw-r--r-- | include/linux/writeback.h | 5 |
3 files changed, 5 insertions, 5 deletions
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index f169bcb90b58..0ee33c2e6129 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h | |||
| @@ -59,6 +59,7 @@ struct bdi_writeback { | |||
| 59 | 59 | ||
| 60 | struct backing_dev_info { | 60 | struct backing_dev_info { |
| 61 | struct list_head bdi_list; | 61 | struct list_head bdi_list; |
| 62 | struct rcu_head rcu_head; | ||
| 62 | unsigned long ra_pages; /* max readahead in PAGE_CACHE_SIZE units */ | 63 | unsigned long ra_pages; /* max readahead in PAGE_CACHE_SIZE units */ |
| 63 | unsigned long state; /* Always use atomic bitops on this */ | 64 | unsigned long state; /* Always use atomic bitops on this */ |
| 64 | unsigned int capabilities; /* Device capabilities */ | 65 | unsigned int capabilities; /* Device capabilities */ |
| @@ -100,7 +101,7 @@ int bdi_register(struct backing_dev_info *bdi, struct device *parent, | |||
| 100 | const char *fmt, ...); | 101 | const char *fmt, ...); |
| 101 | int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev); | 102 | int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev); |
| 102 | void bdi_unregister(struct backing_dev_info *bdi); | 103 | void bdi_unregister(struct backing_dev_info *bdi); |
| 103 | void bdi_start_writeback(struct writeback_control *wbc); | 104 | void bdi_start_writeback(struct backing_dev_info *bdi, long nr_pages); |
| 104 | int bdi_writeback_task(struct bdi_writeback *wb); | 105 | int bdi_writeback_task(struct bdi_writeback *wb); |
| 105 | int bdi_has_dirty_io(struct backing_dev_info *bdi); | 106 | int bdi_has_dirty_io(struct backing_dev_info *bdi); |
| 106 | 107 | ||
diff --git a/include/linux/fs.h b/include/linux/fs.h index b21cf6b9c80b..90162fb3bf04 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -655,7 +655,6 @@ struct block_device { | |||
| 655 | int bd_invalidated; | 655 | int bd_invalidated; |
| 656 | struct gendisk * bd_disk; | 656 | struct gendisk * bd_disk; |
| 657 | struct list_head bd_list; | 657 | struct list_head bd_list; |
| 658 | struct backing_dev_info *bd_inode_backing_dev_info; | ||
| 659 | /* | 658 | /* |
| 660 | * Private data. You must have bd_claim'ed the block_device | 659 | * Private data. You must have bd_claim'ed the block_device |
| 661 | * to use this. NOTE: bd_claim allows an owner to claim | 660 | * to use this. NOTE: bd_claim allows an owner to claim |
| @@ -1343,6 +1342,7 @@ struct super_block { | |||
| 1343 | int s_nr_dentry_unused; /* # of dentry on lru */ | 1342 | int s_nr_dentry_unused; /* # of dentry on lru */ |
| 1344 | 1343 | ||
| 1345 | struct block_device *s_bdev; | 1344 | struct block_device *s_bdev; |
| 1345 | struct backing_dev_info *s_bdi; | ||
| 1346 | struct mtd_info *s_mtd; | 1346 | struct mtd_info *s_mtd; |
| 1347 | struct list_head s_instances; | 1347 | struct list_head s_instances; |
| 1348 | struct quota_info s_dquot; /* Diskquota specific options */ | 1348 | struct quota_info s_dquot; /* Diskquota specific options */ |
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index d347632f1861..75cf58666ff9 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h | |||
| @@ -50,7 +50,6 @@ struct writeback_control { | |||
| 50 | unsigned encountered_congestion:1; /* An output: a queue is full */ | 50 | unsigned encountered_congestion:1; /* An output: a queue is full */ |
| 51 | unsigned for_kupdate:1; /* A kupdate writeback */ | 51 | unsigned for_kupdate:1; /* A kupdate writeback */ |
| 52 | unsigned for_reclaim:1; /* Invoked from the page allocator */ | 52 | unsigned for_reclaim:1; /* Invoked from the page allocator */ |
| 53 | unsigned for_writepages:1; /* This is a writepages() call */ | ||
| 54 | unsigned range_cyclic:1; /* range_start is cyclic */ | 53 | unsigned range_cyclic:1; /* range_start is cyclic */ |
| 55 | unsigned more_io:1; /* more io to be dispatched */ | 54 | unsigned more_io:1; /* more io to be dispatched */ |
| 56 | /* | 55 | /* |
| @@ -69,8 +68,8 @@ struct writeback_control { | |||
| 69 | */ | 68 | */ |
| 70 | struct bdi_writeback; | 69 | struct bdi_writeback; |
| 71 | int inode_wait(void *); | 70 | int inode_wait(void *); |
| 72 | long writeback_inodes_sb(struct super_block *); | 71 | void writeback_inodes_sb(struct super_block *); |
| 73 | long sync_inodes_sb(struct super_block *); | 72 | void sync_inodes_sb(struct super_block *); |
| 74 | void writeback_inodes_wbc(struct writeback_control *wbc); | 73 | void writeback_inodes_wbc(struct writeback_control *wbc); |
| 75 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); | 74 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); |
| 76 | void wakeup_flusher_threads(long nr_pages); | 75 | void wakeup_flusher_threads(long nr_pages); |
