Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-25 Thread Alexander Block
On Tue, Jul 24, 2012 at 7:55 AM, Arne Jansen sensi...@gmx.net wrote: On 23.07.2012 21:41, Alexander Block wrote: On Mon, Jul 16, 2012 at 4:56 PM, Arne Jansen sensi...@gmx.net wrote: On 04.07.2012 15:38, Alexander Block wrote: + + ret = btrfs_update_root(trans, root-fs_info-tree_root, +

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-23 Thread Alexander Block
On Mon, Jul 16, 2012 at 4:56 PM, Arne Jansen sensi...@gmx.net wrote: On 04.07.2012 15:38, Alexander Block wrote: This patch introduces uuids for subvolumes. Each subvolume has it's own uuid. In case it was snapshotted, it also contains parent_uuid. In case it was received, it also contains

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-23 Thread Arne Jansen
On 23.07.2012 21:41, Alexander Block wrote: On Mon, Jul 16, 2012 at 4:56 PM, Arne Jansen sensi...@gmx.net wrote: On 04.07.2012 15:38, Alexander Block wrote: + + ret = btrfs_update_root(trans, root-fs_info-tree_root, + root-root_key, root-root_item); + if

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-16 Thread Arne Jansen
On 04.07.2012 15:38, Alexander Block wrote: This patch introduces uuids for subvolumes. Each subvolume has it's own uuid. In case it was snapshotted, it also contains parent_uuid. In case it was received, it also contains received_uuid. It also introduces subvolume ctime/otime/stime/rtime.

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-05 Thread Alexander Block
On Wed, Jul 4, 2012 at 3:38 PM, Alexander Block abloc...@googlemail.com wrote: This patch introduces uuids for subvolumes. [...] Stefan and Jan pointed out a problem with this patch that would result in read_extent_buffer calls that read beyond the leaf size when an old root item is found at the

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-05 Thread Zach Brown
+static long btrfs_ioctl_set_received_subvol(struct file *file, + void __user *arg) +{ + struct btrfs_ioctl_received_subvol_args *sa = NULL; + ret = copy_to_user(arg, sa, sizeof(*sa)); +struct btrfs_ioctl_received_subvol_args { +

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-05 Thread Alexander Block
On Thu, Jul 5, 2012 at 7:08 PM, Zach Brown z...@zabbo.net wrote: +static long btrfs_ioctl_set_received_subvol(struct file *file, + void __user *arg) +{ + struct btrfs_ioctl_received_subvol_args *sa = NULL; + ret = copy_to_user(arg, sa,

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-05 Thread Ilya Dryomov
On Thu, Jul 05, 2012 at 10:20:16AM -0700, Zach Brown wrote: On 07/05/2012 10:14 AM, Alexander Block wrote: On Thu, Jul 5, 2012 at 7:08 PM, Zach Brownz...@zabbo.net wrote: Careful, timespec will be different sizes in 32bit userspace and a 64bit kernel. I'd use btrfs_timespec to get a fixed

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-05 Thread Zach Brown
and take endianess into account with le{64,32}_to_cpu and cpu_to_le{64,32} macros. The kernel doesn't support system calls from userspace of a different endianness, no worries there :) - z -- To unsubscribe from this list: send the line unsubscribe linux-btrfs in the body of a message to

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-05 Thread Ilya Dryomov
On Thu, Jul 05, 2012 at 11:37:40AM -0700, Zach Brown wrote: and take endianess into account with le{64,32}_to_cpu and cpu_to_le{64,32} macros. The kernel doesn't support system calls from userspace of a different endianness, no worries there :) What if you are on a big-endian machine with

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-05 Thread Zach Brown
On 07/05/2012 11:59 AM, Ilya Dryomov wrote: What if you are on a big-endian machine with a big-endian kernel and userspace? Everything on-disk should be little-endian, so if you are going to write stuff you got from userspace to disk, at some point you have to make sure you are writing out

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-05 Thread Ilya Dryomov
On Thu, Jul 05, 2012 at 09:18:41PM +0200, Alexander Block wrote: On Thu, Jul 5, 2012 at 9:01 PM, Zach Brown z...@zabbo.net wrote: On 07/05/2012 11:59 AM, Ilya Dryomov wrote: What if you are on a big-endian machine with a big-endian kernel and userspace? Everything on-disk should be

Re: [RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-05 Thread Alexander Block
On Thu, Jul 5, 2012 at 9:24 PM, Ilya Dryomov idryo...@gmail.com wrote: On Thu, Jul 05, 2012 at 09:18:41PM +0200, Alexander Block wrote: On Thu, Jul 5, 2012 at 9:01 PM, Zach Brown z...@zabbo.net wrote: On 07/05/2012 11:59 AM, Ilya Dryomov wrote: What if you are on a big-endian machine with

[RFC PATCH 4/7] Btrfs: introduce subvol uuids and times

2012-07-04 Thread Alexander Block
This patch introduces uuids for subvolumes. Each subvolume has it's own uuid. In case it was snapshotted, it also contains parent_uuid. In case it was received, it also contains received_uuid. It also introduces subvolume ctime/otime/stime/rtime. The first two are comparable to the times found in