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
This commit is contained in:
@@ -432,13 +432,35 @@ struct jbd2_journal_handle
|
||||
int h_err;
|
||||
|
||||
/* Flags [no locking] */
|
||||
unsigned int h_sync: 1; /* sync-on-close */
|
||||
unsigned int h_jdata: 1; /* force data journaling */
|
||||
unsigned int h_aborted: 1; /* fatal error on handle */
|
||||
unsigned int h_sync:1; /* sync-on-close */
|
||||
unsigned int h_jdata:1; /* force data journaling */
|
||||
unsigned int h_aborted:1; /* fatal error on handle */
|
||||
unsigned int h_cowing:1; /* COWing block to snapshot */
|
||||
|
||||
/* Number of buffers requested by user:
|
||||
* (before adding the COW credits factor) */
|
||||
unsigned int h_base_credits:14;
|
||||
|
||||
/* Number of buffers the user is allowed to dirty:
|
||||
* (counts only buffers dirtied when !h_cowing) */
|
||||
unsigned int h_user_credits:14;
|
||||
|
||||
|
||||
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||
struct lockdep_map h_lockdep_map;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_JBD2_DEBUG
|
||||
/* COW debugging counters: */
|
||||
unsigned int h_cow_moved; /* blocks moved to snapshot */
|
||||
unsigned int h_cow_copied; /* blocks copied to snapshot */
|
||||
unsigned int h_cow_ok_jh; /* blocks already COWed during current
|
||||
transaction */
|
||||
unsigned int h_cow_ok_bitmap; /* blocks not set in COW bitmap */
|
||||
unsigned int h_cow_ok_mapped;/* blocks already mapped in snapshot */
|
||||
unsigned int h_cow_bitmaps; /* COW bitmaps created */
|
||||
unsigned int h_cow_excluded; /* blocks set in exclude bitmap */
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
@@ -40,6 +40,13 @@ struct journal_head {
|
||||
*/
|
||||
unsigned b_modified;
|
||||
|
||||
/*
|
||||
* This feild tracks the last transaction id in which this buffer
|
||||
* has been cowed
|
||||
* [jbd_lock_bh_state()]
|
||||
*/
|
||||
unsigned b_cow_tid;
|
||||
|
||||
/*
|
||||
* Copy of the buffer data frozen for writing to the log.
|
||||
* [jbd_lock_bh_state()]
|
||||
|
Reference in New Issue
Block a user