From: Bob Williams <linux@barrowhillfarm.org.uk>
To: linux-btrfs@vger.kernel.org
Subject: Re: Can I convert an existing directory into a subvolume?
Date: Tue, 15 Apr 2014 15:23:23 +0100 [thread overview]
Message-ID: <lijfcr$jgn$1@ger.gmane.org> (raw)
In-Reply-To: <20140415141612.GN27956@carfax.org.uk>
On 15/04/14 15:16, Hugo Mills wrote:
> On Tue, Apr 15, 2014 at 02:10:54PM +0100, Bob Williams wrote:
>> Hi,
>>
>> I'm new to btrfs, just dipping my toes in the water...
>>
>> I've got two partitions, / on /dev/sda2 and /home on /dev/sda3, both
>> formatted as btrfs in a new openSUSE 13.1 installation. I copied the
>> whole of /home (4 users) into the btrfs formatted /home partition from
>> an ext4 backup.
>>
>> I would like to create snapshots of /home/user/Documents for example,
>> but I understand these have to be subvolumes first. Googling tells me I
>> can't convert a conventional subdirectory into a subvolume, so I'm
>> guessing I'll have to create a new /home/user/Documents subvolume and
>> then copy all the contents from the subdirectory. Correct? Then delete
>> the subdirectory?
>
> That's one way. You can refine the "copy all the contents" step by
> using cp --reflink=always, which will make reflink (CoW) copies of the
> data, which is vastly faster than an ordinary copy, as long as you're
> not trying to take the data across a mount point.
>
> Another way is to make a snapshot of the subvolume containing the
> thing you want to convert, and then delete the pieces you don't want
> (possibly rearranging the contents of the new subvol in the process).
> So, assuming you have your original subvol mounted on /home, and you
> want to turn /home/bob into a subvol, it would go something like this:
>
> # btrfs sub snap /home /home/bob-temp
> # rm -rf /home/bob-temp/hugo /home/bob-temp/fred /home/bob-temp/wilma
> # mv /home/bob-temp/bob/* /home/bob-temp/
> # rmdir /home/bob-temp/bob
> # mv /home/bob /home/bob-old
> # mv /home/bob-temp /home/bob
>
> Both your approach and the one above involve deleting large
> quantities of things, so be careful you don't delete too much. :)
>
>> Can the subvolume have the same name as the subdirectory it is
>> replacing, or should it be called something like 'tempDocs', and then
>> renamed back to 'Documents' after the original has gone?
>
> It'll have to have a different name temporarily. Subvolumes live in
> the same namespace as the rest of the filesystem objects (like files
> and directories).
>
> Hugo.
>
Many thanks for your useful and clear answer. Off to play ;-)
Bob
next prev parent reply other threads:[~2014-04-15 14:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-15 13:10 Can I convert an existing directory into a subvolume? Bob Williams
2014-04-15 14:16 ` Hugo Mills
2014-04-15 14:23 ` Bob Williams [this message]
2014-04-15 14:46 ` Chris Murphy
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='lijfcr$jgn$1@ger.gmane.org' \
--to=linux@barrowhillfarm.org.uk \
--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.