|
@@ -234,7 +234,8 @@ void ext4_evict_inode(struct inode *inode)
|
|
|
* protection against it
|
|
|
*/
|
|
|
sb_start_intwrite(inode->i_sb);
|
|
|
- handle = ext4_journal_start(inode, ext4_blocks_for_truncate(inode)+3);
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE,
|
|
|
+ ext4_blocks_for_truncate(inode)+3);
|
|
|
if (IS_ERR(handle)) {
|
|
|
ext4_std_error(inode->i_sb, PTR_ERR(handle));
|
|
|
/*
|
|
@@ -656,7 +657,8 @@ static int _ext4_get_block(struct inode *inode, sector_t iblock,
|
|
|
if (map.m_len > DIO_MAX_BLOCKS)
|
|
|
map.m_len = DIO_MAX_BLOCKS;
|
|
|
dio_credits = ext4_chunk_trans_blocks(inode, map.m_len);
|
|
|
- handle = ext4_journal_start(inode, dio_credits);
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_MAP_BLOCKS,
|
|
|
+ dio_credits);
|
|
|
if (IS_ERR(handle)) {
|
|
|
ret = PTR_ERR(handle);
|
|
|
return ret;
|
|
@@ -881,7 +883,7 @@ static int ext4_write_begin(struct file *file, struct address_space *mapping,
|
|
|
}
|
|
|
|
|
|
retry:
|
|
|
- handle = ext4_journal_start(inode, needed_blocks);
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, needed_blocks);
|
|
|
if (IS_ERR(handle)) {
|
|
|
ret = PTR_ERR(handle);
|
|
|
goto out;
|
|
@@ -1881,7 +1883,8 @@ static int __ext4_journalled_writepage(struct page *page,
|
|
|
* references to buffers so we are safe */
|
|
|
unlock_page(page);
|
|
|
|
|
|
- handle = ext4_journal_start(inode, ext4_writepage_trans_blocks(inode));
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE,
|
|
|
+ ext4_writepage_trans_blocks(inode));
|
|
|
if (IS_ERR(handle)) {
|
|
|
ret = PTR_ERR(handle);
|
|
|
goto out;
|
|
@@ -2312,7 +2315,8 @@ retry:
|
|
|
needed_blocks = ext4_da_writepages_trans_blocks(inode);
|
|
|
|
|
|
/* start a new transaction*/
|
|
|
- handle = ext4_journal_start(inode, needed_blocks);
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE,
|
|
|
+ needed_blocks);
|
|
|
if (IS_ERR(handle)) {
|
|
|
ret = PTR_ERR(handle);
|
|
|
ext4_msg(inode->i_sb, KERN_CRIT, "%s: jbd2_start: "
|
|
@@ -2468,7 +2472,7 @@ retry:
|
|
|
* to journalling the i_disksize update if writes to the end
|
|
|
* of file which has an already mapped buffer.
|
|
|
*/
|
|
|
- handle = ext4_journal_start(inode, 1);
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE, 1);
|
|
|
if (IS_ERR(handle)) {
|
|
|
ret = PTR_ERR(handle);
|
|
|
goto out;
|
|
@@ -4215,8 +4219,9 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr)
|
|
|
|
|
|
/* (user+group)*(old+new) structure, inode write (sb,
|
|
|
* inode block, ? - but truncate inode update has it) */
|
|
|
- handle = ext4_journal_start(inode, (EXT4_MAXQUOTAS_INIT_BLOCKS(inode->i_sb)+
|
|
|
- EXT4_MAXQUOTAS_DEL_BLOCKS(inode->i_sb))+3);
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_QUOTA,
|
|
|
+ (EXT4_MAXQUOTAS_INIT_BLOCKS(inode->i_sb) +
|
|
|
+ EXT4_MAXQUOTAS_DEL_BLOCKS(inode->i_sb)) + 3);
|
|
|
if (IS_ERR(handle)) {
|
|
|
error = PTR_ERR(handle);
|
|
|
goto err_out;
|
|
@@ -4251,7 +4256,7 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr)
|
|
|
(attr->ia_size < inode->i_size)) {
|
|
|
handle_t *handle;
|
|
|
|
|
|
- handle = ext4_journal_start(inode, 3);
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_INODE, 3);
|
|
|
if (IS_ERR(handle)) {
|
|
|
error = PTR_ERR(handle);
|
|
|
goto err_out;
|
|
@@ -4271,7 +4276,8 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr)
|
|
|
attr->ia_size);
|
|
|
if (error) {
|
|
|
/* Do as much error cleanup as possible */
|
|
|
- handle = ext4_journal_start(inode, 3);
|
|
|
+ handle = ext4_journal_start(inode,
|
|
|
+ EXT4_HT_INODE, 3);
|
|
|
if (IS_ERR(handle)) {
|
|
|
ext4_orphan_del(NULL, inode);
|
|
|
goto err_out;
|
|
@@ -4612,7 +4618,7 @@ void ext4_dirty_inode(struct inode *inode, int flags)
|
|
|
{
|
|
|
handle_t *handle;
|
|
|
|
|
|
- handle = ext4_journal_start(inode, 2);
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_INODE, 2);
|
|
|
if (IS_ERR(handle))
|
|
|
goto out;
|
|
|
|
|
@@ -4713,7 +4719,7 @@ int ext4_change_inode_journal_flag(struct inode *inode, int val)
|
|
|
|
|
|
/* Finally we can mark the inode as dirty. */
|
|
|
|
|
|
- handle = ext4_journal_start(inode, 1);
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_INODE, 1);
|
|
|
if (IS_ERR(handle))
|
|
|
return PTR_ERR(handle);
|
|
|
|
|
@@ -4791,7 +4797,8 @@ int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
|
|
|
else
|
|
|
get_block = ext4_get_block;
|
|
|
retry_alloc:
|
|
|
- handle = ext4_journal_start(inode, ext4_writepage_trans_blocks(inode));
|
|
|
+ handle = ext4_journal_start(inode, EXT4_HT_WRITE_PAGE,
|
|
|
+ ext4_writepage_trans_blocks(inode));
|
|
|
if (IS_ERR(handle)) {
|
|
|
ret = VM_FAULT_SIGBUS;
|
|
|
goto out;
|