aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-05-09 16:07:40 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-05-09 16:07:40 -0400
commit983a5f84a4a11c8706ca70615125db711336b684 (patch)
treebbf16b836903aaf523e7c637a0d7191ba8fa172d /include
parent8769e078a9a2bce13d39c08e0e5a513f5320e1de (diff)
parent667e7d94a1683661cff5fe9a0fa0d7f8fdd2c007 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
Pull btrfs update from Chris Mason: "These are mostly fixes. The biggest exceptions are Josef's skinny extents and Jan Schmidt's code to rebuild our quota indexes if they get out of sync (or you enable quotas on an existing filesystem). The skinny extents are off by default because they are a new variation on the extent allocation tree format. btrfstune -x enables them, and the new format makes the extent allocation tree about 30% smaller. I rebased this a few days ago to rework Dave Sterba's crc checks on the super block, but almost all of these go back to rc6, since I though 3.9 was due any minute. The biggest missing fix is the tracepoint bug that was hit late in 3.9. I ran into problems with that in overnight testing and I'm still tracking it down. I'll definitely have that fixed for rc2." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (101 commits) Btrfs: allow superblock mismatch from older mkfs btrfs: enhance superblock checks btrfs: fix misleading variable name for flags btrfs: use unsigned long type for extent state bits Btrfs: improve the loop of scrub_stripe btrfs: read entire device info under lock btrfs: remove unused gfp mask parameter from release_extent_buffer callchain btrfs: handle errors returned from get_tree_block_key btrfs: make static code static & remove dead code Btrfs: deal with errors in write_dev_supers Btrfs: remove almost all of the BUG()'s from tree-log.c Btrfs: deal with free space cache errors while replaying log Btrfs: automatic rescan after "quota enable" command Btrfs: rescan for qgroups Btrfs: split btrfs_qgroup_account_ref into four functions Btrfs: allocate new chunks if the space is not enough for global rsv Btrfs: separate sequence numbers for delayed ref tracking and tree mod log btrfs: move leak debug code to functions Btrfs: return free space in cow error path Btrfs: set UUID in root_item for created trees ...
Diffstat (limited to 'include')
-rw-r--r--include/uapi/linux/btrfs.h32
1 files changed, 30 insertions, 2 deletions
diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h
index fa3a5f9338fc..5ef0df545a2a 100644
--- a/include/uapi/linux/btrfs.h
+++ b/include/uapi/linux/btrfs.h
@@ -376,12 +376,18 @@ struct btrfs_ioctl_get_dev_stats {
376 376
377#define BTRFS_QUOTA_CTL_ENABLE 1 377#define BTRFS_QUOTA_CTL_ENABLE 1
378#define BTRFS_QUOTA_CTL_DISABLE 2 378#define BTRFS_QUOTA_CTL_DISABLE 2
379#define BTRFS_QUOTA_CTL_RESCAN 3 379#define BTRFS_QUOTA_CTL_RESCAN__NOTUSED 3
380struct btrfs_ioctl_quota_ctl_args { 380struct btrfs_ioctl_quota_ctl_args {
381 __u64 cmd; 381 __u64 cmd;
382 __u64 status; 382 __u64 status;
383}; 383};
384 384
385struct btrfs_ioctl_quota_rescan_args {
386 __u64 flags;
387 __u64 progress;
388 __u64 reserved[6];
389};
390
385struct btrfs_ioctl_qgroup_assign_args { 391struct btrfs_ioctl_qgroup_assign_args {
386 __u64 assign; 392 __u64 assign;
387 __u64 src; 393 __u64 src;
@@ -412,7 +418,25 @@ struct btrfs_ioctl_received_subvol_args {
412 * search of clone sources doesn't find an extent. UPDATE_EXTENT 418 * search of clone sources doesn't find an extent. UPDATE_EXTENT
413 * commands will be sent instead of WRITE commands. 419 * commands will be sent instead of WRITE commands.
414 */ 420 */
415#define BTRFS_SEND_FLAG_NO_FILE_DATA 0x1 421#define BTRFS_SEND_FLAG_NO_FILE_DATA 0x1
422
423/*
424 * Do not add the leading stream header. Used when multiple snapshots
425 * are sent back to back.
426 */
427#define BTRFS_SEND_FLAG_OMIT_STREAM_HEADER 0x2
428
429/*
430 * Omit the command at the end of the stream that indicated the end
431 * of the stream. This option is used when multiple snapshots are
432 * sent back to back.
433 */
434#define BTRFS_SEND_FLAG_OMIT_END_CMD 0x4
435
436#define BTRFS_SEND_FLAG_MASK \
437 (BTRFS_SEND_FLAG_NO_FILE_DATA | \
438 BTRFS_SEND_FLAG_OMIT_STREAM_HEADER | \
439 BTRFS_SEND_FLAG_OMIT_END_CMD)
416 440
417struct btrfs_ioctl_send_args { 441struct btrfs_ioctl_send_args {
418 __s64 send_fd; /* in */ 442 __s64 send_fd; /* in */
@@ -502,6 +526,10 @@ struct btrfs_ioctl_send_args {
502 struct btrfs_ioctl_qgroup_create_args) 526 struct btrfs_ioctl_qgroup_create_args)
503#define BTRFS_IOC_QGROUP_LIMIT _IOR(BTRFS_IOCTL_MAGIC, 43, \ 527#define BTRFS_IOC_QGROUP_LIMIT _IOR(BTRFS_IOCTL_MAGIC, 43, \
504 struct btrfs_ioctl_qgroup_limit_args) 528 struct btrfs_ioctl_qgroup_limit_args)
529#define BTRFS_IOC_QUOTA_RESCAN _IOW(BTRFS_IOCTL_MAGIC, 44, \
530 struct btrfs_ioctl_quota_rescan_args)
531#define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \
532 struct btrfs_ioctl_quota_rescan_args)
505#define BTRFS_IOC_GET_FSLABEL _IOR(BTRFS_IOCTL_MAGIC, 49, \ 533#define BTRFS_IOC_GET_FSLABEL _IOR(BTRFS_IOCTL_MAGIC, 49, \
506 char[BTRFS_LABEL_SIZE]) 534 char[BTRFS_LABEL_SIZE])
507#define BTRFS_IOC_SET_FSLABEL _IOW(BTRFS_IOCTL_MAGIC, 50, \ 535#define BTRFS_IOC_SET_FSLABEL _IOW(BTRFS_IOCTL_MAGIC, 50, \