diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-25 11:14:59 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-25 11:14:59 -0400 |
| commit | ece78b7df734726e790dcab207f463401ff80440 (patch) | |
| tree | 4a0b23c28c6a727d5eebc8a88a22fe3720c425fd /include/linux | |
| parent | 07acfc2a9349a8ce45b236c2624dad452001966b (diff) | |
| parent | 0324876628a9c7faf8127e20af29373dc6dec876 (diff) | |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
Pull ext2, ext3 and quota fixes from Jan Kara:
"Interesting bits are:
- removal of a special i_mutex locking subclass (I_MUTEX_QUOTA) since
quota code does not need i_mutex anymore in any unusual way.
- backport (from ext4) of a fix of a checkpointing bug (missing cache
flush) that could lead to fs corruption on power failure
The rest are just random small fixes & cleanups."
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
ext2: trivial fix to comment for ext2_free_blocks
ext2: remove the redundant comment for ext2_export_ops
ext3: return 32/64-bit dir name hash according to usage type
quota: Get rid of nested I_MUTEX_QUOTA locking subclass
quota: Use precomputed value of sb_dqopt in dquot_quota_sync
ext2: Remove i_mutex use from ext2_quota_write()
reiserfs: Remove i_mutex use from reiserfs_quota_write()
ext4: Remove i_mutex use from ext4_quota_write()
ext3: Remove i_mutex use from ext3_quota_write()
quota: Fix double lock in add_dquot_ref() with CONFIG_QUOTA_DEBUG
jbd: Write journal superblock with WRITE_FUA after checkpointing
jbd: protect all log tail updates with j_checkpoint_mutex
jbd: Split updating of journal superblock and marking journal empty
ext2: do not register write_super within VFS
ext2: Remove s_dirt handling
ext2: write superblock only once on unmount
ext3: update documentation with barrier=1 default
ext3: remove max_debt in find_group_orlov()
jbd: Refine commit writeout logic
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/jbd.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/include/linux/jbd.h b/include/linux/jbd.h index d211732b9e99..c8f32975f0e4 100644 --- a/include/linux/jbd.h +++ b/include/linux/jbd.h | |||
| @@ -479,12 +479,6 @@ struct transaction_s | |||
| 479 | * How many handles used this transaction? [t_handle_lock] | 479 | * How many handles used this transaction? [t_handle_lock] |
| 480 | */ | 480 | */ |
| 481 | int t_handle_count; | 481 | int t_handle_count; |
| 482 | |||
| 483 | /* | ||
| 484 | * This transaction is being forced and some process is | ||
| 485 | * waiting for it to finish. | ||
| 486 | */ | ||
| 487 | unsigned int t_synchronous_commit:1; | ||
| 488 | }; | 482 | }; |
| 489 | 483 | ||
| 490 | /** | 484 | /** |
| @@ -531,6 +525,8 @@ struct transaction_s | |||
| 531 | * transaction | 525 | * transaction |
| 532 | * @j_commit_request: Sequence number of the most recent transaction wanting | 526 | * @j_commit_request: Sequence number of the most recent transaction wanting |
| 533 | * commit | 527 | * commit |
| 528 | * @j_commit_waited: Sequence number of the most recent transaction someone | ||
| 529 | * is waiting for to commit. | ||
| 534 | * @j_uuid: Uuid of client object. | 530 | * @j_uuid: Uuid of client object. |
| 535 | * @j_task: Pointer to the current commit thread for this journal | 531 | * @j_task: Pointer to the current commit thread for this journal |
| 536 | * @j_max_transaction_buffers: Maximum number of metadata buffers to allow in a | 532 | * @j_max_transaction_buffers: Maximum number of metadata buffers to allow in a |
| @@ -696,6 +692,13 @@ struct journal_s | |||
| 696 | tid_t j_commit_request; | 692 | tid_t j_commit_request; |
| 697 | 693 | ||
| 698 | /* | 694 | /* |
| 695 | * Sequence number of the most recent transaction someone is waiting | ||
| 696 | * for to commit. | ||
| 697 | * [j_state_lock] | ||
| 698 | */ | ||
| 699 | tid_t j_commit_waited; | ||
| 700 | |||
| 701 | /* | ||
| 699 | * Journal uuid: identifies the object (filesystem, LVM volume etc) | 702 | * Journal uuid: identifies the object (filesystem, LVM volume etc) |
| 700 | * backed by this journal. This will eventually be replaced by an array | 703 | * backed by this journal. This will eventually be replaced by an array |
| 701 | * of uuids, allowing us to index multiple devices within a single | 704 | * of uuids, allowing us to index multiple devices within a single |
| @@ -861,7 +864,8 @@ extern int journal_destroy (journal_t *); | |||
| 861 | extern int journal_recover (journal_t *journal); | 864 | extern int journal_recover (journal_t *journal); |
| 862 | extern int journal_wipe (journal_t *, int); | 865 | extern int journal_wipe (journal_t *, int); |
| 863 | extern int journal_skip_recovery (journal_t *); | 866 | extern int journal_skip_recovery (journal_t *); |
| 864 | extern void journal_update_superblock (journal_t *, int); | 867 | extern void journal_update_sb_log_tail (journal_t *, tid_t, unsigned int, |
| 868 | int); | ||
| 865 | extern void journal_abort (journal_t *, int); | 869 | extern void journal_abort (journal_t *, int); |
| 866 | extern int journal_errno (journal_t *); | 870 | extern int journal_errno (journal_t *); |
| 867 | extern void journal_ack_err (journal_t *); | 871 | extern void journal_ack_err (journal_t *); |
