Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 updates from Ted Ts'o: "Clean ups and miscellaneous bug fixes, in particular for the new collapse_range and zero_range fallocate functions. In addition, improve the scalability of adding and remove inodes from the orphan list" * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (25 commits) ext4: handle symlink properly with inline_data ext4: fix wrong assert in ext4_mb_normalize_request() ext4: fix zeroing of page during writeback ext4: remove unused local variable "stored" from ext4_readdir(...) ext4: fix ZERO_RANGE test failure in data journalling ext4: reduce contention on s_orphan_lock ext4: use sbi in ext4_orphan_{add|del}() ext4: use EXT_MAX_BLOCKS in ext4_es_can_be_merged() ext4: add missing BUFFER_TRACE before ext4_journal_get_write_access ext4: remove unnecessary double parentheses ext4: do not destroy ext4_groupinfo_caches if ext4_mb_init() fails ext4: make local functions static ext4: fix block bitmap validation when bigalloc, ^flex_bg ext4: fix block bitmap initialization under sparse_super2 ext4: find the group descriptors on a 1k-block bigalloc,meta_bg filesystem ext4: avoid unneeded lookup when xattr name is invalid ext4: fix data integrity sync in ordered mode ext4: remove obsoleted check ext4: add a new spinlock i_raw_lock to protect the ext4's raw inode ext4: fix locking for O_APPEND writes ...
This commit is contained in:
@@ -2619,7 +2619,7 @@ int ext4_mb_init(struct super_block *sb)
|
||||
sbi->s_locality_groups = alloc_percpu(struct ext4_locality_group);
|
||||
if (sbi->s_locality_groups == NULL) {
|
||||
ret = -ENOMEM;
|
||||
goto out_free_groupinfo_slab;
|
||||
goto out;
|
||||
}
|
||||
for_each_possible_cpu(i) {
|
||||
struct ext4_locality_group *lg;
|
||||
@@ -2644,8 +2644,6 @@ int ext4_mb_init(struct super_block *sb)
|
||||
out_free_locality_groups:
|
||||
free_percpu(sbi->s_locality_groups);
|
||||
sbi->s_locality_groups = NULL;
|
||||
out_free_groupinfo_slab:
|
||||
ext4_groupinfo_destroy_slabs();
|
||||
out:
|
||||
kfree(sbi->s_mb_offsets);
|
||||
sbi->s_mb_offsets = NULL;
|
||||
@@ -2878,6 +2876,7 @@ ext4_mb_mark_diskspace_used(struct ext4_allocation_context *ac,
|
||||
if (!bitmap_bh)
|
||||
goto out_err;
|
||||
|
||||
BUFFER_TRACE(bitmap_bh, "getting write access");
|
||||
err = ext4_journal_get_write_access(handle, bitmap_bh);
|
||||
if (err)
|
||||
goto out_err;
|
||||
@@ -2890,6 +2889,7 @@ ext4_mb_mark_diskspace_used(struct ext4_allocation_context *ac,
|
||||
ext4_debug("using block group %u(%d)\n", ac->ac_b_ex.fe_group,
|
||||
ext4_free_group_clusters(sb, gdp));
|
||||
|
||||
BUFFER_TRACE(gdp_bh, "get_write_access");
|
||||
err = ext4_journal_get_write_access(handle, gdp_bh);
|
||||
if (err)
|
||||
goto out_err;
|
||||
@@ -3147,7 +3147,7 @@ ext4_mb_normalize_request(struct ext4_allocation_context *ac,
|
||||
}
|
||||
BUG_ON(start + size <= ac->ac_o_ex.fe_logical &&
|
||||
start > ac->ac_o_ex.fe_logical);
|
||||
BUG_ON(size <= 0 || size > EXT4_CLUSTERS_PER_GROUP(ac->ac_sb));
|
||||
BUG_ON(size <= 0 || size > EXT4_BLOCKS_PER_GROUP(ac->ac_sb));
|
||||
|
||||
/* now prepare goal request */
|
||||
|
||||
|
Reference in New Issue
Block a user