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

Commit f9156c72 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (62 commits)
  Btrfs: use larger system chunks
  Btrfs: add a delalloc mutex to inodes for delalloc reservations
  Btrfs: space leak tracepoints
  Btrfs: protect orphan block rsv with spin_lock
  Btrfs: add allocator tracepoints
  Btrfs: don't call btrfs_throttle in file write
  Btrfs: release space on error in page_mkwrite
  Btrfs: fix btrfsck error 400 when truncating a compressed
  Btrfs: do not use btrfs_end_transaction_throttle everywhere
  Btrfs: add balance progress reporting
  Btrfs: allow for resuming restriper after it was paused
  Btrfs: allow for canceling restriper
  Btrfs: allow for pausing restriper
  Btrfs: add skip_balance mount option
  Btrfs: recover balance on mount
  Btrfs: save balance parameters to disk
  Btrfs: soft profile changing mode (aka soft convert)
  Btrfs: implement online profile changing
  Btrfs: do not reduce profile in do_chunk_alloc()
  Btrfs: virtual address space subset filter
  ...

Fix up trivial conflict in fs/btrfs/ioctl.c due to the use of the new
mnt_drop_write_file() helper.
parents 67175b85 96bdc7dc
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -31,3 +31,22 @@ config BTRFS_FS_POSIX_ACL
	  Linux website <http://acl.bestbits.at/>.

	  If you don't know what Access Control Lists are, say N

config BTRFS_FS_CHECK_INTEGRITY
	bool "Btrfs with integrity check tool compiled in (DANGEROUS)"
	depends on BTRFS_FS
	help
	  Adds code that examines all block write requests (including
	  writes of the super block). The goal is to verify that the
	  state of the filesystem on disk is always consistent, i.e.,
	  after a power-loss or kernel panic event the filesystem is
	  in a consistent state.

	  If the integrity check tool is included and activated in
	  the mount options, plenty of kernel memory is used, and
	  plenty of additional CPU cycles are spent. Enabling this
	  functionality is not intended for normal use.

	  In most cases, unless you are a btrfs developer who needs
	  to verify the integrity of (super)-block write requests
	  during the run of a regression test, say N
+2 −1
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ btrfs-y += super.o ctree.o extent-tree.o print-tree.o root-tree.o dir-item.o \
	   extent_io.o volumes.o async-thread.o ioctl.o locking.o orphan.o \
	   export.o tree-log.o free-space-cache.o zlib.o lzo.o \
	   compression.o delayed-ref.o relocation.o delayed-inode.o scrub.o \
	   reada.o backref.o
	   reada.o backref.o ulist.o

btrfs-$(CONFIG_BTRFS_FS_POSIX_ACL) += acl.o
btrfs-$(CONFIG_BTRFS_FS_CHECK_INTEGRITY) += check-integrity.o
+878 −253

File changed.

Preview size limit exceeded, changes collapsed.

+5 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#define __BTRFS_BACKREF__

#include "ioctl.h"
#include "ulist.h"

struct inode_fs_paths {
	struct btrfs_path		*btrfs_path;
@@ -54,6 +55,10 @@ int iterate_inodes_from_logical(u64 logical, struct btrfs_fs_info *fs_info,

int paths_from_inode(u64 inum, struct inode_fs_paths *ipath);

int btrfs_find_all_roots(struct btrfs_trans_handle *trans,
				struct btrfs_fs_info *fs_info, u64 bytenr,
				u64 num_bytes, u64 seq, struct ulist **roots);

struct btrfs_data_container *init_data_container(u32 total_bytes);
struct inode_fs_paths *init_ipath(s32 total_bytes, struct btrfs_root *fs_root,
					struct btrfs_path *path);
+3 −0
Original line number Diff line number Diff line
@@ -51,6 +51,9 @@ struct btrfs_inode {
	/* held while logging the inode in tree-log.c */
	struct mutex log_mutex;

	/* held while doing delalloc reservations */
	struct mutex delalloc_mutex;

	/* used to order data wrt metadata */
	struct btrfs_ordered_inode_tree ordered_tree;

Loading