From: Marc MERLIN <marc@merlins.org>
To: linux-btrfs@vger.kernel.org
Subject: Recovering a file from a snapshot without duplicating its blocks (--reflink across devs?)
Date: Mon, 4 Jun 2012 20:01:00 -0700 [thread overview]
Message-ID: <20120605030100.GA7572@merlins.org> (raw)
I hit a problem on my laptop, I had about 40GB free, and I screwed up a
36GB virtualbox image.
No biggie, I have netapp style snapshots, so I deleted my messed up VM
image, and figured I only had to copy the last image from my hourly
snapshot.
First I though, I sure would be nice if I could take btrfs to reference
the same blocks from the snapshot to my current image.
But, --reflink failed across devices nodes, so I was forced to
copy/duplicate the blocks (36GB).
Then, by getting down to less than 10GB free, I got into the dark
corners of the btrfs code where writes would just hang, or take 10H to
copy an extra 1GB, while copiously hanging the system.
In the end, I never was able to recover the system without copying the
snapshot VM image to 3rd party storage, deleting the snapshot, then
getting enough blocks of free space, and finally being able to copy my
36GB image back on my /home partition.
This was very slow and painful and required power cycle my laptop more
than once while it was very close to being fully hung (in real life, it
was just unusable and stuck on disk IO but not fully hung).
Was there a better way?
I had 3.2.16 at the time and now have 3.4.0.
Thanks,
Marc
--
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
.... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/
next reply other threads:[~2012-06-05 3:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-05 3:01 Marc MERLIN [this message]
2012-06-05 3:42 ` Recovering a file from a snapshot without duplicating its blocks (--reflink across devs?) Chris Samuel
2012-06-05 11:54 ` Marc MERLIN
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=20120605030100.GA7572@merlins.org \
--to=marc@merlins.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).