diff options
author | Chris Mason <chris.mason@oracle.com> | 2008-07-17 12:53:51 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:04 -0400 |
commit | 247e743cbe6e655768c3679f84821e03c1577902 (patch) | |
tree | edc2b27284365f019859a936885bd100960eb659 /fs/btrfs/ctree.h | |
parent | e6dcd2dc9c489108648e2ed543315dd134d50a9a (diff) |
Btrfs: Use async helpers to deal with pages that have been improperly dirtied
Higher layers sometimes call set_page_dirty without asking the filesystem
to help. This causes many problems for the data=ordered and cow code.
This commit detects pages that haven't been properly setup for IO and
kicks off an async helper to deal with them.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index ceebc052ddcb..4ddc8a8f82cd 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -546,6 +546,12 @@ struct btrfs_fs_info { | |||
546 | struct btrfs_workers endio_workers; | 546 | struct btrfs_workers endio_workers; |
547 | struct btrfs_workers endio_write_workers; | 547 | struct btrfs_workers endio_write_workers; |
548 | struct btrfs_workers submit_workers; | 548 | struct btrfs_workers submit_workers; |
549 | /* | ||
550 | * fixup workers take dirty pages that didn't properly go through | ||
551 | * the cow mechanism and make them safe to write. It happens | ||
552 | * for the sys_munmap function call path | ||
553 | */ | ||
554 | struct btrfs_workers fixup_workers; | ||
549 | struct task_struct *transaction_kthread; | 555 | struct task_struct *transaction_kthread; |
550 | struct task_struct *cleaner_kthread; | 556 | struct task_struct *cleaner_kthread; |
551 | int thread_pool_size; | 557 | int thread_pool_size; |