From: Roman Mamedov <rm@romanrm.net>
To: <linux-btrfs@vger.kernel.org>
Subject: Can't cp --reflink files on a Ext4-converted FS w/o checksums
Date: Thu, 27 Nov 2014 00:55:27 +0500 [thread overview]
Message-ID: <20141127005527.42a7fe59@natsu> (raw)
Hello,
I used btrfs-convert to switch my FS from Ext4 to Btrfs. As it was a rather
large 10 TB filesystem, to save on the conversion time, I used the "-d,
disable data checksum" option of btrfs-convert.
Turns out now I can't "cp --reflink" any files that were already on the FS
prior to conversion. The error message from cp is "failed to clone [...]
Invalid argument".
I assume this is because of the lack of checksums; the only way to make old
files cloneable is to plain copy them to a different place and then delete the
originals, but that's what I was trying to avoid in the first place.
Also I thought maybe defragmenting will help, but nope, doesn't seem to be the
case, even ordering it to recompress data to a different method doesn't fix
the problem. (Even if it did, it's still a lot of unnecessary rewriting).
Is there really a good reason to stop these files without checksums from being
cloneable? It's not like they have the noCoW attribute, so I'd assume any new
write to these files would cause a CoW and proper checksums for all new blocks
anyways.
--
With respect,
Roman
next reply other threads:[~2014-11-26 19:55 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-26 19:55 Roman Mamedov [this message]
2014-11-26 23:18 ` Can't cp --reflink files on a Ext4-converted FS w/o checksums Robert White
2014-11-26 23:33 ` Roman Mamedov
2014-11-27 0:00 ` Robert White
2014-11-27 0:20 ` Roman Mamedov
2014-11-27 0:31 ` Robert White
2014-11-27 0:57 ` Robert White
2014-11-27 0:20 ` Robert White
2014-11-27 0:28 ` Roman Mamedov
2014-11-27 0:45 ` Robert White
2014-11-27 9:27 ` Duncan
2014-11-28 7:12 ` Robert White
2014-11-27 3:31 ` Liu Bo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141127005527.42a7fe59@natsu \
--to=rm@romanrm.net \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.