Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits) ext4: Adding error check after calling ext4_mb_regular_allocator() ext4: Fix dirtying of journalled buffers in data=journal mode ext4: re-inline ext4_rec_len_(to|from)_disk functions jbd2: Remove t_handle_lock from start_this_handle() jbd2: Change j_state_lock to be a rwlock_t jbd2: Use atomic variables to avoid taking t_handle_lock in jbd2_journal_stop ext4: Add mount options in superblock ext4: force block allocation on quota_off ext4: fix freeze deadlock under IO ext4: drop inode from orphan list if ext4_delete_inode() fails ext4: check to make make sure bd_dev is set before dereferencing it jbd2: Make barrier messages less scary ext4: don't print scary messages for allocation failures post-abort ext4: fix EFBIG edge case when writing to large non-extent file ext4: fix ext4_get_blocks references ext4: Always journal quota file modifications ext4: Fix potential memory leak in ext4_fill_super ext4: Don't error out the fs if the user tries to make a file too big ext4: allocate stripe-multiple IOs on stripe boundaries ext4: move aio completion after unwritten extent conversion ... Fix up conflicts in fs/ext4/inode.c as per Ted. Fix up xfs conflicts as per earlier xfs merge.
This commit is contained in:
@@ -601,13 +601,13 @@ struct transaction_s
|
||||
* Number of outstanding updates running on this transaction
|
||||
* [t_handle_lock]
|
||||
*/
|
||||
int t_updates;
|
||||
atomic_t t_updates;
|
||||
|
||||
/*
|
||||
* Number of buffers reserved for use by all handles in this transaction
|
||||
* handle but not yet modified. [t_handle_lock]
|
||||
*/
|
||||
int t_outstanding_credits;
|
||||
atomic_t t_outstanding_credits;
|
||||
|
||||
/*
|
||||
* Forward and backward links for the circular list of all transactions
|
||||
@@ -629,7 +629,7 @@ struct transaction_s
|
||||
/*
|
||||
* How many handles used this transaction? [t_handle_lock]
|
||||
*/
|
||||
int t_handle_count;
|
||||
atomic_t t_handle_count;
|
||||
|
||||
/*
|
||||
* This transaction is being forced and some process is
|
||||
@@ -764,7 +764,7 @@ struct journal_s
|
||||
/*
|
||||
* Protect the various scalars in the journal
|
||||
*/
|
||||
spinlock_t j_state_lock;
|
||||
rwlock_t j_state_lock;
|
||||
|
||||
/*
|
||||
* Number of processes waiting to create a barrier lock [j_state_lock]
|
||||
@@ -1082,7 +1082,9 @@ static inline handle_t *journal_current_handle(void)
|
||||
*/
|
||||
|
||||
extern handle_t *jbd2_journal_start(journal_t *, int nblocks);
|
||||
extern int jbd2_journal_restart (handle_t *, int nblocks);
|
||||
extern handle_t *jbd2__journal_start(journal_t *, int nblocks, int gfp_mask);
|
||||
extern int jbd2_journal_restart(handle_t *, int nblocks);
|
||||
extern int jbd2__journal_restart(handle_t *, int nblocks, int gfp_mask);
|
||||
extern int jbd2_journal_extend (handle_t *, int nblocks);
|
||||
extern int jbd2_journal_get_write_access(handle_t *, struct buffer_head *);
|
||||
extern int jbd2_journal_get_create_access (handle_t *, struct buffer_head *);
|
||||
@@ -1257,8 +1259,8 @@ static inline int jbd_space_needed(journal_t *journal)
|
||||
{
|
||||
int nblocks = journal->j_max_transaction_buffers;
|
||||
if (journal->j_committing_transaction)
|
||||
nblocks += journal->j_committing_transaction->
|
||||
t_outstanding_credits;
|
||||
nblocks += atomic_read(&journal->j_committing_transaction->
|
||||
t_outstanding_credits);
|
||||
return nblocks;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user