diff options
Diffstat (limited to 'fs/ext4/ialloc.c')
| -rw-r--r-- | fs/ext4/ialloc.c | 48 | 
1 files changed, 20 insertions, 28 deletions
diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c index f3624ead4f6c..361c0b9962a8 100644 --- a/fs/ext4/ialloc.c +++ b/fs/ext4/ialloc.c @@ -76,8 +76,7 @@ unsigned ext4_init_inode_bitmap(struct super_block *sb, struct buffer_head *bh,  	/* If checksum is bad mark all blocks and inodes use to prevent  	 * allocation, essentially implementing a per-group read-only flag. */  	if (!ext4_group_desc_csum_verify(sbi, block_group, gdp)) { -		ext4_error(sb, __func__, "Checksum bad for group %u", -			   block_group); +		ext4_error(sb, "Checksum bad for group %u", block_group);  		ext4_free_blks_set(sb, gdp, 0);  		ext4_free_inodes_set(sb, gdp, 0);  		ext4_itable_unused_set(sb, gdp, 0); @@ -111,8 +110,7 @@ ext4_read_inode_bitmap(struct super_block *sb, ext4_group_t block_group)  	bitmap_blk = ext4_inode_bitmap(sb, desc);  	bh = sb_getblk(sb, bitmap_blk);  	if (unlikely(!bh)) { -		ext4_error(sb, __func__, -			    "Cannot read inode bitmap - " +		ext4_error(sb, "Cannot read inode bitmap - "  			    "block_group = %u, inode_bitmap = %llu",  			    block_group, bitmap_blk);  		return NULL; @@ -153,8 +151,7 @@ ext4_read_inode_bitmap(struct super_block *sb, ext4_group_t block_group)  	set_bitmap_uptodate(bh);  	if (bh_submit_read(bh) < 0) {  		put_bh(bh); -		ext4_error(sb, __func__, -			    "Cannot read inode bitmap - " +		ext4_error(sb, "Cannot read inode bitmap - "  			    "block_group = %u, inode_bitmap = %llu",  			    block_group, bitmap_blk);  		return NULL; @@ -217,10 +214,10 @@ void ext4_free_inode(handle_t *handle, struct inode *inode)  	 * Note: we must free any quota before locking the superblock,  	 * as writing the quota to disk may need the lock as well.  	 */ -	vfs_dq_init(inode); +	dquot_initialize(inode);  	ext4_xattr_delete_inode(handle, inode); -	vfs_dq_free_inode(inode); -	vfs_dq_drop(inode); +	dquot_free_inode(inode); +	dquot_drop(inode);  	is_directory = S_ISDIR(inode->i_mode); @@ -229,8 +226,7 @@ void ext4_free_inode(handle_t *handle, struct inode *inode)  	es = EXT4_SB(sb)->s_es;  	if (ino < EXT4_FIRST_INO(sb) || ino > le32_to_cpu(es->s_inodes_count)) { -		ext4_error(sb, "ext4_free_inode", -			   "reserved or nonexistent inode %lu", ino); +		ext4_error(sb, "reserved or nonexistent inode %lu", ino);  		goto error_return;  	}  	block_group = (ino - 1) / EXT4_INODES_PER_GROUP(sb); @@ -248,8 +244,7 @@ void ext4_free_inode(handle_t *handle, struct inode *inode)  	cleared = ext4_clear_bit_atomic(ext4_group_lock_ptr(sb, block_group),  					bit, bitmap_bh->b_data);  	if (!cleared) -		ext4_error(sb, "ext4_free_inode", -			   "bit already cleared for inode %lu", ino); +		ext4_error(sb, "bit already cleared for inode %lu", ino);  	else {  		gdp = ext4_get_group_desc(sb, block_group, &bh2); @@ -736,8 +731,7 @@ static int ext4_claim_inode(struct super_block *sb,  	if ((group == 0 && ino < EXT4_FIRST_INO(sb)) ||  			ino > EXT4_INODES_PER_GROUP(sb)) {  		ext4_unlock_group(sb, group); -		ext4_error(sb, __func__, -			   "reserved inode or inode > inodes count - " +		ext4_error(sb, "reserved inode or inode > inodes count - "  			   "block_group = %u, inode=%lu", group,  			   ino + group * EXT4_INODES_PER_GROUP(sb));  		return 1; @@ -904,7 +898,7 @@ repeat_in_this_group:  				BUFFER_TRACE(inode_bitmap_bh,  					"call ext4_handle_dirty_metadata");  				err = ext4_handle_dirty_metadata(handle, -								 inode, +								 NULL,  							inode_bitmap_bh);  				if (err)  					goto fail; @@ -1029,15 +1023,16 @@ got:  	inode->i_generation = sbi->s_next_generation++;  	spin_unlock(&sbi->s_next_gen_lock); -	ei->i_state = EXT4_STATE_NEW; +	ei->i_state_flags = 0; +	ext4_set_inode_state(inode, EXT4_STATE_NEW);  	ei->i_extra_isize = EXT4_SB(sb)->s_want_extra_isize;  	ret = inode; -	if (vfs_dq_alloc_inode(inode)) { -		err = -EDQUOT; +	dquot_initialize(inode); +	err = dquot_alloc_inode(inode); +	if (err)  		goto fail_drop; -	}  	err = ext4_init_acl(handle, inode, dir);  	if (err) @@ -1074,10 +1069,10 @@ really_out:  	return ret;  fail_free_drop: -	vfs_dq_free_inode(inode); +	dquot_free_inode(inode);  fail_drop: -	vfs_dq_drop(inode); +	dquot_drop(inode);  	inode->i_flags |= S_NOQUOTA;  	inode->i_nlink = 0;  	unlock_new_inode(inode); @@ -1098,8 +1093,7 @@ struct inode *ext4_orphan_get(struct super_block *sb, unsigned long ino)  	/* Error cases - e2fsck has already cleaned up for us */  	if (ino > max_ino) { -		ext4_warning(sb, __func__, -			     "bad orphan ino %lu!  e2fsck was run?", ino); +		ext4_warning(sb, "bad orphan ino %lu!  e2fsck was run?", ino);  		goto error;  	} @@ -1107,8 +1101,7 @@ struct inode *ext4_orphan_get(struct super_block *sb, unsigned long ino)  	bit = (ino - 1) % EXT4_INODES_PER_GROUP(sb);  	bitmap_bh = ext4_read_inode_bitmap(sb, block_group);  	if (!bitmap_bh) { -		ext4_warning(sb, __func__, -			     "inode bitmap error for orphan %lu", ino); +		ext4_warning(sb, "inode bitmap error for orphan %lu", ino);  		goto error;  	} @@ -1140,8 +1133,7 @@ iget_failed:  	err = PTR_ERR(inode);  	inode = NULL;  bad_orphan: -	ext4_warning(sb, __func__, -		     "bad orphan inode %lu!  e2fsck was run?", ino); +	ext4_warning(sb, "bad orphan inode %lu!  e2fsck was run?", ino);  	printk(KERN_NOTICE "ext4_test_bit(bit=%d, block=%llu) = %d\n",  	       bit, (unsigned long long)bitmap_bh->b_blocknr,  	       ext4_test_bit(bit, bitmap_bh->b_data));  |