diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-01-21 10:37:27 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-21 10:37:27 -0500 |
commit | 77835492ed489c0b870f82f4c50687bd267acc0a (patch) | |
tree | d80903ce1b8dd30aa44ccfc756616ad4d6c74d63 /fs/btrfs | |
parent | af37501c792107c2bde1524bdae38d9a247b841a (diff) | |
parent | 1de9e8e70f5acc441550ca75433563d91b269bbe (diff) |
Merge commit 'v2.6.29-rc2' into perfcounters/core
Conflicts:
include/linux/syscalls.h
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/ioctl.h | 14 | ||||
-rw-r--r-- | fs/btrfs/super.c | 5 | ||||
-rw-r--r-- | fs/btrfs/volumes.c | 1 |
3 files changed, 12 insertions, 8 deletions
diff --git a/fs/btrfs/ioctl.h b/fs/btrfs/ioctl.h index 78049ea208db..b320b103fa13 100644 --- a/fs/btrfs/ioctl.h +++ b/fs/btrfs/ioctl.h | |||
@@ -22,13 +22,20 @@ | |||
22 | 22 | ||
23 | #define BTRFS_IOCTL_MAGIC 0x94 | 23 | #define BTRFS_IOCTL_MAGIC 0x94 |
24 | #define BTRFS_VOL_NAME_MAX 255 | 24 | #define BTRFS_VOL_NAME_MAX 255 |
25 | #define BTRFS_PATH_NAME_MAX 3072 | 25 | #define BTRFS_PATH_NAME_MAX 4087 |
26 | 26 | ||
27 | /* this should be 4k */ | ||
27 | struct btrfs_ioctl_vol_args { | 28 | struct btrfs_ioctl_vol_args { |
28 | __s64 fd; | 29 | __s64 fd; |
29 | char name[BTRFS_PATH_NAME_MAX + 1]; | 30 | char name[BTRFS_PATH_NAME_MAX + 1]; |
30 | }; | 31 | }; |
31 | 32 | ||
33 | struct btrfs_ioctl_clone_range_args { | ||
34 | __s64 src_fd; | ||
35 | __u64 src_offset, src_length; | ||
36 | __u64 dest_offset; | ||
37 | }; | ||
38 | |||
32 | #define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1, \ | 39 | #define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1, \ |
33 | struct btrfs_ioctl_vol_args) | 40 | struct btrfs_ioctl_vol_args) |
34 | #define BTRFS_IOC_DEFRAG _IOW(BTRFS_IOCTL_MAGIC, 2, \ | 41 | #define BTRFS_IOC_DEFRAG _IOW(BTRFS_IOCTL_MAGIC, 2, \ |
@@ -52,11 +59,6 @@ struct btrfs_ioctl_vol_args { | |||
52 | struct btrfs_ioctl_vol_args) | 59 | struct btrfs_ioctl_vol_args) |
53 | #define BTRFS_IOC_BALANCE _IOW(BTRFS_IOCTL_MAGIC, 12, \ | 60 | #define BTRFS_IOC_BALANCE _IOW(BTRFS_IOCTL_MAGIC, 12, \ |
54 | struct btrfs_ioctl_vol_args) | 61 | struct btrfs_ioctl_vol_args) |
55 | struct btrfs_ioctl_clone_range_args { | ||
56 | __s64 src_fd; | ||
57 | __u64 src_offset, src_length; | ||
58 | __u64 dest_offset; | ||
59 | }; | ||
60 | 62 | ||
61 | #define BTRFS_IOC_CLONE_RANGE _IOW(BTRFS_IOCTL_MAGIC, 13, \ | 63 | #define BTRFS_IOC_CLONE_RANGE _IOW(BTRFS_IOCTL_MAGIC, 13, \ |
62 | struct btrfs_ioctl_clone_range_args) | 64 | struct btrfs_ioctl_clone_range_args) |
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 0a14b495532f..db9fb3bc1e33 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/namei.h> | 38 | #include <linux/namei.h> |
39 | #include <linux/miscdevice.h> | 39 | #include <linux/miscdevice.h> |
40 | #include <linux/version.h> | 40 | #include <linux/version.h> |
41 | #include <linux/magic.h> | ||
41 | #include "compat.h" | 42 | #include "compat.h" |
42 | #include "ctree.h" | 43 | #include "ctree.h" |
43 | #include "disk-io.h" | 44 | #include "disk-io.h" |
@@ -51,7 +52,6 @@ | |||
51 | #include "export.h" | 52 | #include "export.h" |
52 | #include "compression.h" | 53 | #include "compression.h" |
53 | 54 | ||
54 | #define BTRFS_SUPER_MAGIC 0x9123683E | ||
55 | 55 | ||
56 | static struct super_operations btrfs_super_ops; | 56 | static struct super_operations btrfs_super_ops; |
57 | 57 | ||
@@ -582,7 +582,7 @@ static long btrfs_control_ioctl(struct file *file, unsigned int cmd, | |||
582 | { | 582 | { |
583 | struct btrfs_ioctl_vol_args *vol; | 583 | struct btrfs_ioctl_vol_args *vol; |
584 | struct btrfs_fs_devices *fs_devices; | 584 | struct btrfs_fs_devices *fs_devices; |
585 | int ret = 0; | 585 | int ret = -ENOTTY; |
586 | int len; | 586 | int len; |
587 | 587 | ||
588 | if (!capable(CAP_SYS_ADMIN)) | 588 | if (!capable(CAP_SYS_ADMIN)) |
@@ -594,6 +594,7 @@ static long btrfs_control_ioctl(struct file *file, unsigned int cmd, | |||
594 | goto out; | 594 | goto out; |
595 | } | 595 | } |
596 | len = strnlen(vol->name, BTRFS_PATH_NAME_MAX); | 596 | len = strnlen(vol->name, BTRFS_PATH_NAME_MAX); |
597 | |||
597 | switch (cmd) { | 598 | switch (cmd) { |
598 | case BTRFS_IOC_SCAN_DEV: | 599 | case BTRFS_IOC_SCAN_DEV: |
599 | ret = btrfs_scan_one_device(vol->name, FMODE_READ, | 600 | ret = btrfs_scan_one_device(vol->name, FMODE_READ, |
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index b187b537888e..3451e1cca2b5 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c | |||
@@ -220,6 +220,7 @@ loop: | |||
220 | tail->bi_next = old_head; | 220 | tail->bi_next = old_head; |
221 | else | 221 | else |
222 | device->pending_bio_tail = tail; | 222 | device->pending_bio_tail = tail; |
223 | device->running_pending = 0; | ||
223 | 224 | ||
224 | spin_unlock(&device->io_lock); | 225 | spin_unlock(&device->io_lock); |
225 | btrfs_requeue_work(&device->work); | 226 | btrfs_requeue_work(&device->work); |