Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81280572 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'upstream-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (50 commits)
  ext4,jbd2: convert tracepoints to use major/minor numbers
  ext4: optimize orphan_list handling for ext4_setattr
  ext4: fix unbalanced mutex unlock in error path of ext4_li_request_new
  ext4: fix compile error in ext4_fallocate()
  ext4: move ext4_mb_{get,put}_buddy_cache_lock and make them static
  ext4: rename mark_bitmap_end() to ext4_mark_bitmap_end()
  ext4: move flush_completed_IO to fs/ext4/fsync.c and make it static
  ext4: rename {ext,idx}_pblock and inline small extent functions
  ext4: make various ext4 functions be static
  ext4: rename {exit,init}_ext4_*() to ext4_{exit,init}_*()
  ext4: fix kernel oops if the journal superblock has a non-zero j_errno
  ext4: update writeback_index based on last page scanned
  ext4: implement writeback livelock avoidance using page tagging
  ext4: tidy up a void argument in inode.c
  ext4: add batched_discard into ext4 feature list
  ext4: Add batched discard support for ext4
  fs: Add FITRIM ioctl
  ext4: Use return value from sb_issue_discard()
  ext4: Check return value of sb_getblk() and friends
  ext4: use bio layer instead of buffer layer in mpage_da_submit_io
  ...
parents b83db1de a107e5a3
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -353,6 +353,20 @@ noauto_da_alloc replacing existing files via patterns such as
			system crashes before the delayed allocation
			blocks are forced to disk.

noinit_itable		Do not initialize any uninitialized inode table
			blocks in the background.  This feature may be
			used by installation CD's so that the install
			process can complete as quickly as possible; the
			inode table initialization process would then be
			deferred until the next time the  file system
			is unmounted.

init_itable=n		The lazy itable init code will wait n times the
			number of milliseconds it took to zero out the
			previous block group's inode table.  This
			minimizes the impact on the systme performance
			while file system's inode table is being initialized.

discard		Controls whether ext4 should issue discard/TRIM
nodiscard(*)		commands to the underlying block device when
			blocks are freed.  This is useful for SSD devices
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@

obj-$(CONFIG_EXT4_FS) += ext4.o

ext4-y	:= balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
ext4-y	:= balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o page-io.o \
		ioctl.o namei.o super.o symlink.o hash.o resize.o extents.o \
		ext4_jbd2.o migrate.o mballoc.o block_validity.o move_extent.o

+3 −2
Original line number Diff line number Diff line
@@ -171,7 +171,8 @@ unsigned ext4_init_block_bitmap(struct super_block *sb, struct buffer_head *bh,
		 * less than the blocksize * 8 ( which is the size
		 * of bitmap ), set rest of the block bitmap to 1
		 */
		mark_bitmap_end(group_blocks, sb->s_blocksize * 8, bh->b_data);
		ext4_mark_bitmap_end(group_blocks, sb->s_blocksize * 8,
				     bh->b_data);
	}
	return free_blocks - ext4_group_used_meta_blocks(sb, block_group, gdp);
}
@@ -489,7 +490,7 @@ void ext4_add_groupblocks(handle_t *handle, struct super_block *sb,
 * Check if filesystem has nblocks free & available for allocation.
 * On success return 1, return 0 on failure.
 */
int ext4_has_free_blocks(struct ext4_sb_info *sbi, s64 nblocks)
static int ext4_has_free_blocks(struct ext4_sb_info *sbi, s64 nblocks)
{
	s64 free_blocks, dirty_blocks, root_blocks;
	struct percpu_counter *fbc = &sbi->s_freeblocks_counter;
+3 −4
Original line number Diff line number Diff line
@@ -29,16 +29,15 @@ struct ext4_system_zone {

static struct kmem_cache *ext4_system_zone_cachep;

int __init init_ext4_system_zone(void)
int __init ext4_init_system_zone(void)
{
	ext4_system_zone_cachep = KMEM_CACHE(ext4_system_zone,
					     SLAB_RECLAIM_ACCOUNT);
	ext4_system_zone_cachep = KMEM_CACHE(ext4_system_zone, 0);
	if (ext4_system_zone_cachep == NULL)
		return -ENOMEM;
	return 0;
}

void exit_ext4_system_zone(void)
void ext4_exit_system_zone(void)
{
	kmem_cache_destroy(ext4_system_zone_cachep);
}
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ static int ext4_release_dir(struct inode *inode,
				struct file *filp);

const struct file_operations ext4_dir_operations = {
	.llseek		= generic_file_llseek,
	.llseek		= ext4_llseek,
	.read		= generic_read_dir,
	.readdir	= ext4_readdir,		/* we take BKL. needed?*/
	.unlocked_ioctl = ext4_ioctl,
Loading