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

Commit a525890c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (23 commits)
  Btrfs: fix extent_buffer leak during tree log replay
  Btrfs: fix oops when btrfs_inherit_iflags called with a NULL dir
  Btrfs: fix -o nodatasum printk spelling
  Btrfs: check duplicate backrefs for both data and metadata
  Btrfs: init worker struct fields before kthread-run
  Btrfs: pin buffers during write_dev_supers
  Btrfs: avoid races between super writeout and device list updates
  Fix btrfs when ACLs are configured out
  Btrfs: fdatasync should skip metadata writeout
  Btrfs: remove crc32c.h and use libcrc32c directly.
  Btrfs: implement FS_IOC_GETFLAGS/SETFLAGS/GETVERSION
  Btrfs: autodetect SSD devices
  Btrfs: add mount -o ssd_spread to spread allocations out
  Btrfs: avoid allocation clusters that are too spread out
  Btrfs: Add mount -o nossd
  Btrfs: avoid IO stalls behind congested devices in a multi-device FS
  Btrfs: don't allow WRITE_SYNC bios to starve out regular writes
  Btrfs: fix metadata dirty throttling limits
  Btrfs: reduce mount -o ssd CPU usage
  Btrfs: balance btree more often
  ...
parents 3bb66d7f b263c2c8
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -6,5 +6,5 @@ btrfs-y += super.o ctree.o extent-tree.o print-tree.o root-tree.o dir-item.o \
	   transaction.o inode.o file.o tree-defrag.o \
	   transaction.o inode.o file.o tree-defrag.o \
	   extent_map.o sysfs.o struct-funcs.o xattr.o ordered-data.o \
	   extent_map.o sysfs.o struct-funcs.o xattr.o ordered-data.o \
	   extent_io.o volumes.o async-thread.o ioctl.o locking.o orphan.o \
	   extent_io.o volumes.o async-thread.o ioctl.o locking.o orphan.o \
	   ref-cache.o export.o tree-log.o acl.o free-space-cache.o zlib.o \
	   export.o tree-log.o acl.o free-space-cache.o zlib.o \
	   compression.o delayed-ref.o
	   compression.o delayed-ref.o relocation.o
+0 −5
Original line number Original line Diff line number Diff line
@@ -351,9 +351,4 @@ int btrfs_init_acl(struct inode *inode, struct inode *dir)
	return 0;
	return 0;
}
}


int btrfs_check_acl(struct inode *inode, int mask)
{
	return 0;
}

#endif /* CONFIG_FS_POSIX_ACL */
#endif /* CONFIG_FS_POSIX_ACL */
+1 −1
Original line number Original line Diff line number Diff line
@@ -294,10 +294,10 @@ int btrfs_start_workers(struct btrfs_workers *workers, int num_workers)
		INIT_LIST_HEAD(&worker->worker_list);
		INIT_LIST_HEAD(&worker->worker_list);
		spin_lock_init(&worker->lock);
		spin_lock_init(&worker->lock);
		atomic_set(&worker->num_pending, 0);
		atomic_set(&worker->num_pending, 0);
		worker->workers = workers;
		worker->task = kthread_run(worker_loop, worker,
		worker->task = kthread_run(worker_loop, worker,
					   "btrfs-%s-%d", workers->name,
					   "btrfs-%s-%d", workers->name,
					   workers->num_workers + i);
					   workers->num_workers + i);
		worker->workers = workers;
		if (IS_ERR(worker->task)) {
		if (IS_ERR(worker->task)) {
			kfree(worker);
			kfree(worker);
			ret = PTR_ERR(worker->task);
			ret = PTR_ERR(worker->task);
+3 −1
Original line number Original line Diff line number Diff line
@@ -72,6 +72,9 @@ struct btrfs_inode {
	 */
	 */
	struct list_head ordered_operations;
	struct list_head ordered_operations;


	/* node for the red-black tree that links inodes in subvolume root */
	struct rb_node rb_node;

	/* the space_info for where this inode's data allocations are done */
	/* the space_info for where this inode's data allocations are done */
	struct btrfs_space_info *space_info;
	struct btrfs_space_info *space_info;


@@ -154,5 +157,4 @@ static inline void btrfs_i_size_write(struct inode *inode, u64 size)
	BTRFS_I(inode)->disk_i_size = size;
	BTRFS_I(inode)->disk_i_size = size;
}
}



#endif
#endif
+3 −3
Original line number Original line Diff line number Diff line
@@ -123,7 +123,7 @@ static int check_compressed_csum(struct inode *inode,
	u32 csum;
	u32 csum;
	u32 *cb_sum = &cb->sums;
	u32 *cb_sum = &cb->sums;


	if (btrfs_test_flag(inode, NODATASUM))
	if (BTRFS_I(inode)->flags & BTRFS_INODE_NODATASUM)
		return 0;
		return 0;


	for (i = 0; i < cb->nr_pages; i++) {
	for (i = 0; i < cb->nr_pages; i++) {
@@ -670,7 +670,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
			 */
			 */
			atomic_inc(&cb->pending_bios);
			atomic_inc(&cb->pending_bios);


			if (!btrfs_test_flag(inode, NODATASUM)) {
			if (!(BTRFS_I(inode)->flags & BTRFS_INODE_NODATASUM)) {
				btrfs_lookup_bio_sums(root, inode, comp_bio,
				btrfs_lookup_bio_sums(root, inode, comp_bio,
						      sums);
						      sums);
			}
			}
@@ -697,7 +697,7 @@ int btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
	ret = btrfs_bio_wq_end_io(root->fs_info, comp_bio, 0);
	ret = btrfs_bio_wq_end_io(root->fs_info, comp_bio, 0);
	BUG_ON(ret);
	BUG_ON(ret);


	if (!btrfs_test_flag(inode, NODATASUM))
	if (!(BTRFS_I(inode)->flags & BTRFS_INODE_NODATASUM))
		btrfs_lookup_bio_sums(root, inode, comp_bio, sums);
		btrfs_lookup_bio_sums(root, inode, comp_bio, sums);


	ret = btrfs_map_bio(root, READ, comp_bio, mirror_num, 0);
	ret = btrfs_map_bio(root, READ, comp_bio, mirror_num, 0);
Loading