[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: BTRFS file clone support for cp
From: |
Pádraig Brady |
Subject: |
Re: BTRFS file clone support for cp |
Date: |
Wed, 29 Jul 2009 19:14:37 +0100 |
User-agent: |
Thunderbird 2.0.0.6 (X11/20071008) |
Chris Mason wrote:
> On Wed, Jul 29, 2009 at 03:14:49PM +0100, Pádraig Brady wrote:
>>
>> We may need to play around with fallocate()
>> if we want to get back to the original
>> cp semantics of actually allocating space
>> on the file system for the new file.
>
> Well, best to just use the original cp code. I was talking with
> Giuseppe about this as well, I think we should the option to do regular
> cp via a flag.
Right. Well we can turn off this cloning by doing --sparse={never,always}
but that has side effects. If we need an option then maybe we should have
it turn on cloning rather than restore default cp behaviour?
The side effects I thought of earlier, of COW without corresponding allocation
were possible fragmentation on write or unexpected/mishandled ENOSPC.
Also for endangered mechanical disks, subsequent processing could
be slowed as the head seeks between the old and new data to be copied.
Perhaps these are a small price to pay, especially considering that
solid state disks will only be affected by the write()=ENOSPC issue.
At the moment we have these linking options:
cp -l, --link #for hardlinks
cp -s, --symbolic-link #for symlinks
So perhaps we should support:
cp --link={soft,hard,cow}
for symlink(), link() and reflink() respectively?
I.E. link to the name, inode or extents respectively.
> There will soon be a reflink system call that can be used on ocfs2 and
> btrfs as well. Thanks for adding this to glibc!
I was thinking there would be a generic syscall for this.
So cp should call reflink() instead when it becomes available.
thanks for the info!
Pádraig.
- Re: BTRFS file clone support for cp, (continued)
Re: BTRFS file clone support for cp, Pádraig Brady, 2009/07/26
- Re: BTRFS file clone support for cp, Jim Meyering, 2009/07/27
- Re: BTRFS file clone support for cp, Giuseppe Scrivano, 2009/07/27
- Re: BTRFS file clone support for cp, Pádraig Brady, 2009/07/27
- Re: BTRFS file clone support for cp, Giuseppe Scrivano, 2009/07/28
- Re: BTRFS file clone support for cp, Chris Mason, 2009/07/29
- Re: BTRFS file clone support for cp, Pádraig Brady, 2009/07/29
- Re: BTRFS file clone support for cp, Chris Mason, 2009/07/29
- Re: BTRFS file clone support for cp,
Pádraig Brady <=
- Re: BTRFS file clone support for cp, Joel Becker, 2009/07/30
- Re: BTRFS file clone support for cp, Jim Meyering, 2009/07/30
- Re: BTRFS file clone support for cp, Joel Becker, 2009/07/30
- Re: BTRFS file clone support for cp, Pádraig Brady, 2009/07/30
- Re: BTRFS file clone support for cp, Ric Wheeler, 2009/07/30
- Re: BTRFS file clone support for cp, Jim Meyering, 2009/07/30
Re: BTRFS file clone support for cp, Andi Kleen, 2009/07/30
Re: BTRFS file clone support for cp, Pádraig Brady, 2009/07/30
Re: BTRFS file clone support for cp, Jim Meyering, 2009/07/30
Re: BTRFS file clone support for cp, Andi Kleen, 2009/07/30