diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-25 12:57:40 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-25 12:57:41 -0400 |
| commit | ae005cbed12d0b340b04b59d6f5c56e710b3895d (patch) | |
| tree | d464865bcc97bea05eab4eba0d10bcad4ec89b93 /include/linux | |
| parent | 3961cdf85b749f6bab50ad31ee97e9277e7a3b70 (diff) | |
| parent | 0ba0851714beebb800992e5105a79dc3a4c504b0 (diff) | |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (43 commits)
ext4: fix a BUG in mb_mark_used during trim.
ext4: unused variables cleanup in fs/ext4/extents.c
ext4: remove redundant set_buffer_mapped() in ext4_da_get_block_prep()
ext4: add more tracepoints and use dev_t in the trace buffer
ext4: don't kfree uninitialized s_group_info members
ext4: add missing space in printk's in __ext4_grp_locked_error()
ext4: add FITRIM to compat_ioctl.
ext4: handle errors in ext4_clear_blocks()
ext4: unify the ext4_handle_release_buffer() api
ext4: handle errors in ext4_rename
jbd2: add COW fields to struct jbd2_journal_handle
jbd2: add the b_cow_tid field to journal_head struct
ext4: Initialize fsync transaction ids in ext4_new_inode()
ext4: Use single thread to perform DIO unwritten convertion
ext4: optimize ext4_bio_write_page() when no extent conversion is needed
ext4: skip orphan cleanup if fs has unknown ROCOMPAT features
ext4: use the nblocks arg to ext4_truncate_restart_trans()
ext4: fix missing iput of root inode for some mount error paths
ext4: make FIEMAP and delayed allocation play well together
ext4: suppress verbose debugging information if malloc-debug is off
...
Fi up conflicts in fs/ext4/super.c due to workqueue changes
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/jbd2.h | 28 | ||||
| -rw-r--r-- | include/linux/journal-head.h | 7 |
2 files changed, 32 insertions, 3 deletions
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 27e79c27ba08..a32dcaec04e1 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h | |||
| @@ -432,13 +432,35 @@ struct jbd2_journal_handle | |||
| 432 | int h_err; | 432 | int h_err; |
| 433 | 433 | ||
| 434 | /* Flags [no locking] */ | 434 | /* Flags [no locking] */ |
| 435 | unsigned int h_sync: 1; /* sync-on-close */ | 435 | unsigned int h_sync:1; /* sync-on-close */ |
| 436 | unsigned int h_jdata: 1; /* force data journaling */ | 436 | unsigned int h_jdata:1; /* force data journaling */ |
| 437 | unsigned int h_aborted: 1; /* fatal error on handle */ | 437 | unsigned int h_aborted:1; /* fatal error on handle */ |
| 438 | unsigned int h_cowing:1; /* COWing block to snapshot */ | ||
| 439 | |||
| 440 | /* Number of buffers requested by user: | ||
| 441 | * (before adding the COW credits factor) */ | ||
| 442 | unsigned int h_base_credits:14; | ||
| 443 | |||
| 444 | /* Number of buffers the user is allowed to dirty: | ||
| 445 | * (counts only buffers dirtied when !h_cowing) */ | ||
| 446 | unsigned int h_user_credits:14; | ||
| 447 | |||
| 438 | 448 | ||
| 439 | #ifdef CONFIG_DEBUG_LOCK_ALLOC | 449 | #ifdef CONFIG_DEBUG_LOCK_ALLOC |
| 440 | struct lockdep_map h_lockdep_map; | 450 | struct lockdep_map h_lockdep_map; |
| 441 | #endif | 451 | #endif |
| 452 | |||
| 453 | #ifdef CONFIG_JBD2_DEBUG | ||
| 454 | /* COW debugging counters: */ | ||
| 455 | unsigned int h_cow_moved; /* blocks moved to snapshot */ | ||
| 456 | unsigned int h_cow_copied; /* blocks copied to snapshot */ | ||
| 457 | unsigned int h_cow_ok_jh; /* blocks already COWed during current | ||
| 458 | transaction */ | ||
| 459 | unsigned int h_cow_ok_bitmap; /* blocks not set in COW bitmap */ | ||
| 460 | unsigned int h_cow_ok_mapped;/* blocks already mapped in snapshot */ | ||
| 461 | unsigned int h_cow_bitmaps; /* COW bitmaps created */ | ||
| 462 | unsigned int h_cow_excluded; /* blocks set in exclude bitmap */ | ||
| 463 | #endif | ||
| 442 | }; | 464 | }; |
| 443 | 465 | ||
| 444 | 466 | ||
diff --git a/include/linux/journal-head.h b/include/linux/journal-head.h index 525aac3c97df..44e95d0a721f 100644 --- a/include/linux/journal-head.h +++ b/include/linux/journal-head.h | |||
| @@ -41,6 +41,13 @@ struct journal_head { | |||
| 41 | unsigned b_modified; | 41 | unsigned b_modified; |
| 42 | 42 | ||
| 43 | /* | 43 | /* |
| 44 | * This feild tracks the last transaction id in which this buffer | ||
| 45 | * has been cowed | ||
| 46 | * [jbd_lock_bh_state()] | ||
| 47 | */ | ||
| 48 | unsigned b_cow_tid; | ||
| 49 | |||
| 50 | /* | ||
| 44 | * Copy of the buffer data frozen for writing to the log. | 51 | * Copy of the buffer data frozen for writing to the log. |
| 45 | * [jbd_lock_bh_state()] | 52 | * [jbd_lock_bh_state()] |
| 46 | */ | 53 | */ |
