From: Howard McLauchlan
Presently, btrfs send/receive does not propagate inode attribute flags;
all chattr operations are effectively discarded upon transmission.
This patch adds userspace support for inode attribute flags. Kernel
support can be found under the commit:
btrfs: add chattr
From: Filipe Manana
This increases the send stream version from version 1 to version 2, adding
new commands:
1) total data size - used to tell the receiver how much file data the stream
will add or update;
2) fallocate - used to pre-allocate space for files and to punch holes in files;
3) i
From: Filipe Manana
When specifying -vv print information about received write and clone commands
too,
as we do this for other commands already and it's very useful for debugging and
troubleshooting.
Signed-off-by: Filipe David Borba Manana
---
cmds-receive.c | 9 +
1 file changed, 9
-off-by: Howard McLauchlan
Signed-off-by: Filipe David Borba Manana
---
fs/btrfs/send.c | 54 ++---
fs/btrfs/send.h | 4
2 files changed, 55 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
index 7b184831812b
s
14: [17576..21487]: 28144..32055 3912 blocks
The proposed xfstest can be found at:
xfstests: btrfs, test send's ability to punch holes and prealloc extents
This test verifies that send-stream version 2 does space pre-allocation
and hole punching.
[Howar
From: Howard McLauchlan
Adding entries to dump for new commands (total data size, fallocate).
Signed-off-by: Howard McLauchlan
---
send-dump.c | 19 ++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/send-dump.c b/send-dump.c
index 1591e0cc..c5a695a2 100644
(BTRFS_SEND_FLAG_CALCULATE_DATA_SIZE | BTRFS_SEND_FLAG_STREAM_V2),
meaning
old clients are unaffected.
[Howard: rebased on 4.17-rc7]
Signed-off-by: Howard McLauchlan
Signed-off-by: Filipe David Borba Manana
Reviewed-by: Omar Sandoval
---
fs/btrfs/send.c| 7 ++-
fs/btrfs/send.h| 22
From: Filipe Manana
This is a followup to the kernel patch titled:
Btrfs: send, implement total data size command to allow for progress
estimation
This makes the btrfs send and receive commands aware of the new send flag,
named BTRFS_SEND_C_TOTAL_DATA_SIZE, which tells us the amount of fil
ated by an incremental send.
Also update existing test btrfs/161 to verify total data size
[Howard: rebased on kernel v4.17-rc7, btrfs progs v4.16.1]
Signed-off-by: Howard McLauchlan
Signed-off-by: Filipe David Borba Manana
---
common/rc | 10
tests/btrfs/161 | 10 ++--
tests
From: Filipe David Borba Manana
So that applications can find out what's the highest send stream
version supported/implemented by the running kernel:
$ cat /sys/fs/btrfs/send/stream_version
2
[Howard: rebased on 4.17-rc7]
Reviewed-by: Omar Sandoval
Signed-off-by: Howard McLau
From: Howard McLauchlan
Presently btrfs send/receive does not propagate inode attribute flags;
all chattr operations are effectively discarded upon transmission.
This patch adds kernel support for inode attribute flags. Userspace
support can be found under the commit:
btrfs-progs: add
From: Filipe Manana
The fallocate send stream command, added in stream version 2, is used to
pre-allocate space for files and punch file holes. This change implements
the callback for that new command, using the fallocate function from the
standard C library to carry out the specified action (all
From: Howard McLauchlan
This test aims to verify correct behaviour with chattr operations and
btrfs send/receive. The intent is to check general correctness as well
as special interactions with troublesome flags(immutable, append only).
This test is motivated by a bug in btrfs which
mnt/sdc
At subvol /mnt/sdd/snap_incr
At subvol snap_incr
About to receive 9571342213 bytes
Subvolume /mnt/sdc//snap_incr, 6557345221 / 9571342213 bytes received,
68.51%, 51.04MB/s
[Howard: rebased on 4.17-rc7]
Signed-off-by: Howard McLauchlan
Signed-off-by: Filipe David Borba Mana
trfs: send, implement total data size command to allow for progress
estimation
btrfs: send, use fallocate command to punch holes
btrfs: send, use fallocate command to allocate extents
btrfs: add send_stream_version attribute to sysfs
Howard McLauchlan (1):
btrfs: add chattr suppor
ated by an incremental send.
[Howard: rebased on kernel v4.17-rc4, btrfs progs v4.16.1]
Signed-off-by: Howard McLauchlan
Signed-off-by: Filipe David Borba Manana
---
common/rc | 10
tests/btrfs/160 | 121
tests/btrfs/160
From: Howard McLauchlan
This test aims to verify correct behaviour with chattr operations and
btrfs send/receive. The intent is to check general correctness as well
as special interactions with troublesome flags(immutable, append only).
This test is motivated by a bug in btrfs which
From: Howard McLauchlan
Presently, btrfs send/receive does not propagate inode attribute flags;
all chattr operations are effectively discarded upon transmission.
This patch adds userspace support for inode attribute flags. Kernel
support can be found under the commit:
btrfs: add chattr
From: Howard McLauchlan
Adding entries to dump for new commands (total data size, fallocate).
Signed-off-by: Howard McLauchlan
---
send-dump.c | 19 ++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/send-dump.c b/send-dump.c
index 1591e0cc..c5a695a2 100644
From: Filipe Manana
When specifying -vv print information about received write and clone commands
too,
as we do this for other commands already and it's very useful for debugging and
troubleshooting.
Signed-off-by: Filipe David Borba Manana
---
cmds-receive.c | 9 +
1 file changed, 9
From: Filipe Manana
The fallocate send stream command, added in stream version 2, is used to
pre-allocate space for files and punch file holes. This change implements
the callback for that new command, using the fallocate function from the
standard C library to carry out the specified action (all
From: Filipe Manana
This is a followup to the kernel patch titled:
Btrfs: send, implement total data size command to allow for progress
estimation
This makes the btrfs send and receive commands aware of the new send flag,
named BTRFS_SEND_C_TOTAL_DATA_SIZE, which tells us the amount of fil
From: Filipe Manana
This increases the send stream version from version 1 to version 2, adding
new commands:
1) total data size - used to tell the receiver how much file data the stream
will add or update;
2) fallocate - used to pre-allocate space for files and to punch holes in files;
3) i
mnt/sdc
At subvol /mnt/sdd/snap_incr
At subvol snap_incr
About to receive 9571342213 bytes
Subvolume /mnt/sdc//snap_incr, 6557345221 / 9571342213 bytes received,
68.51%, 51.04MB/s
[Howard: rebased on 4.17-rc4]
Signed-off-by: Howard McLauchlan
Signed-off-by: Filipe David Borba Mana
-off-by: Howard McLauchlan
Signed-off-by: Filipe David Borba Manana
---
fs/btrfs/send.c | 54 ++---
fs/btrfs/send.h | 4
2 files changed, 55 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
index 7b184831812b
From: Filipe David Borba Manana
So that applications can find out what's the highest send stream
version supported/implemented by the running kernel:
$ cat /sys/fs/btrfs/send/stream_version
2
[Howard: rebased on 4.17-rc4]
Signed-off-by: Howard McLauchlan
Signed-off-by: Filipe
From: Howard McLauchlan
Presently btrfs send/receive does not propagate inode attribute flags;
all chattr operations are effectively discarded upon transmission.
This patch adds kernel support for inode attribute flags. Userspace
support can be found under the commit:
btrfs-progs: add
les
btrfs: send, use fallocate command to allocate extents
btrfs: add send_stream_version attribute to sysfs
Howard McLauchlan (1):
btrfs: add chattr support for send/receive
fs/btrfs/ctree.h | 2 +
fs/btrfs/ioctl.c | 2 +-
fs/btrfs/send.c| 496 +++
s
14: [17576..21487]: 28144..32055 3912 blocks
The proposed xfstest can be found at:
xfstests: btrfs, test send's ability to punch holes and prealloc extents
This test verifies that send-stream version 2 does space pre-allocation
and hole punching.
[Howar
),
meaning
old clients are unaffected.
[Howard: rebased on 4.17-rc4]
Signed-off-by: Howard McLauchlan
Signed-off-by: Filipe David Borba Manana
---
fs/btrfs/send.c| 7 ++-
fs/btrfs/send.h| 21 -
include/uapi/linux/btrfs.h | 21 -
3 files
On 04/18/2018 01:15 AM, Filipe Manana wrote:
> On Wed, Apr 18, 2018 at 12:39 AM, Howard McLauchlan
> wrote:
>> Presently btrfs send/receive does not propagate inode attribute flags;
>> all chattr operations are effectively discarded upon transmission.
>>
>> This
With commit b18253ec57c0 ("btrfs: optimize free space tree bitmap
conversion"), there are no more callers to le_test_bit(). This patch
removes le_test_bit().
Signed-off-by: Howard McLauchlan
---
fs/btrfs/extent_io.h | 5 -
1 file changed, 5 deletions(-)
diff --git a/fs/btrfs/ext
le_bitmap_set() is only used by free-space-tree, so move it there and
make it static. le_bitmap_clear() is not used, so remove it.
Signed-off-by: Howard McLauchlan
---
V1->V2: Also move le_bitmap_set()
based on 4.17-rc1
fs/btrfs/extent_io.c | 40 --
().
Suggested-by: Omar Sandoval
Signed-off-by: Howard McLauchlan
---
V1->V2: Round the bitmap size accordingly when allocating bitmap.
fs/btrfs/free-space-tree.c | 61 ++
1 file changed, 23 insertions(+), 38 deletions(-)
diff --git a/fs/btrfs/free-space-tree.c b
On 04/18/2018 03:26 PM, David Sterba wrote:
> On Wed, Apr 18, 2018 at 02:30:59PM -0700, Howard McLauchlan wrote:
>> Presently, convert_free_space_to_extents() does a linear scan of the
>> bitmap. We can speed this up with find_next_{bit,zero_bit}_le().
>>
>> This pat
().
Suggested-by: Omar Sandoval
Signed-off-by: Howard McLauchlan
---
Since we change bitmap to be unsigned long, we have to do some casting for the
bitmap cursor. In le_bitmap_set() it makes sense to use u8, as we are doing
bit operations. Everywhere else, we're just using it for pointer arithmeti
le_bitmap_clear() was implemented as a parallel to le_bitmap_set() but
is actually not being used. This patch removes it.
Signed-off-by: Howard McLauchlan
---
fs/btrfs/extent_io.c | 20
fs/btrfs/extent_io.h | 1 -
2 files changed, 21 deletions(-)
diff --git a/fs/btrfs
On 04/18/2018 08:50 AM, David Sterba wrote:
> On Tue, Apr 17, 2018 at 04:19:04PM -0700, Howard McLauchlan wrote:
>> Presently, convert_free_space_to_extents() does a linear scan of the
>> bitmap. We can speed this up with find_next_{bit,zero_bit}_le().
>>
>> This pat
On 04/17/2018 04:39 PM, Howard McLauchlan wrote:
> Presently btrfs send/receive does not propagate inode attribute flags;
> all chattr operations are effectively discarded upon transmission.
>
> This patch adds kernel support for inode attribute flags. Userspace
> support can be
-by: Howard McLauchlan
---
cmds-receive.c | 31 +++
send-dump.c| 8 +++-
send-stream.c | 5 +
send-stream.h | 1 +
send.h | 2 ++
5 files changed, 46 insertions(+), 1 deletion(-)
diff --git a/cmds-receive.c b/cmds-receive.c
index 68123a31
-off-by: Howard McLauchlan
---
Based on 4.17-rc1
fs/btrfs/ctree.h | 2 +
fs/btrfs/ioctl.c | 2 +-
fs/btrfs/send.c | 176 +++
fs/btrfs/send.h | 2 +
4 files changed, 154 insertions(+), 28 deletions(-)
diff --git a/fs/btrfs/ctree.h b/fs/btrfs
().
Suggested-by: Omar Sandoval
Signed-off-by: Howard McLauchlan
---
Based on 4.17-rc1
fs/btrfs/extent_io.c | 12 -
fs/btrfs/extent_io.h | 4 +--
fs/btrfs/free-space-tree.c | 54 ++
3 files changed, 27 insertions(+), 43 deletions(-)
diff --git a
igned-off-by: Howard McLauchlan
---
V2:remove duplicate code with fallthrough
Based on 4.16-rc4
fs/btrfs/super.c | 11 +++
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 4b817947e00f..5bfcbf6f7eea 100644
--- a/fs/btrfs/super.c
+++
On 02/21/2018 05:20 PM, Hans van Kranenburg wrote:
> On 02/22/2018 12:31 AM, Howard McLauchlan wrote:
>> Btrfs has two mount options for SSD optimizations: ssd and ssd_spread.
>> Presently there is an option to disable all SSD optimizations, but there
>> isn't an option
Btrfs has two mount options for SSD optimizations: ssd and ssd_spread.
Presently there is an option to disable all SSD optimizations, but there
isn't an option to disable just ssd_spread.
This patch adds a mount option nossd_spread that disables ssd_spread
only.
Signed-off-by: Howard McLau
On 02/02/2018 11:09 AM, Howard McLauchlan wrote:
> Presently, failing a primary super block write but succeeding in at
> least one super block write in general will appear to users as if
> nothing important went wrong. However, upon unmounting and re-mounting,
> the file system will be
.
Signed-off-by: Howard McLauchlan
---
V3: Rewrote boolean setting logic for clarity
V2: Added devid to output, removed unnecessary fs_info parameter
fs/btrfs/disk-io.c | 15 ++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
.
Signed-off-by: Howard McLauchlan
---
V2: Added devid to output, removed unnecessary fs_info parameter
fs/btrfs/disk-io.c | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 5da18ebc9222..6d98f2f21d5f 100644
--- a/fs
.
Signed-off-by: Howard McLauchlan
---
fs/btrfs/disk-io.c | 17 ++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 5da18ebc9222..8f96e1e4c613 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -3293,11 +3293,13
49 matches
Mail list logo