If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Btrfs System Rollbacks In Fedora 13

04-16-2010, 11:00 AM

Phoronix: Btrfs System Rollbacks In Fedora 13

One of the benefits of Btrfs besides offering competitive performance against other Linux file-systems and SSD optimizations is its support for sub-volumes and writable snapshots. While Btrfs is still in development and is not yet used as a default file-system by any Linux distribution, Red Hat has been looking to capitalize upon the capabilities of Btrfs by introducing support for system rollbacks into Fedora. The Btrfs-based system rollback support has been a feature for Fedora 13 so with the release of the Fedora 13 Beta earlier this week we decided to further investigate this feature.

Comment

Do these snapshots store the entire filesystem or only a diff to what has changed since the previous snapshot? A diff would be better because it would save space. I think that's what Apple's Time machine does.

By the way, how far is Redhat from making a competitor to Apple's Time Machine with this BRFS rollback?

Comment

Do these snapshots store the entire filesystem or only a diff to what has changed since the previous snapshot?

I believe btrs snapshots are essentially the same as ZFS, so when you write to a file which exists in a snapshot the old data block is left in the snapshot and not freed. Hence if you have a snapshot with 20GB file and later update a 4k block in that file, then only that 4k block has to be stored in the live copy of the filesystem... for the rest of that 20GB file it will read the same blocks that exist in the snapshot.

Comment

I believe btrs snapshots are essentially the same as ZFS, so when you write to a file which exists in a snapshot the old data block is left in the snapshot and not freed. Hence if you have a snapshot with 20GB file and later update a 4k block in that file, then only that 4k block has to be stored in the live copy of the filesystem... for the rest of that 20GB file it will read the same blocks that exist in the snapshot.

Aha, so if the user changes 4k since the previous snapshot, the next snapshot will require only 4k of additional space on a backup drive. Sounds good! Thanks for the explanation.

Comment

Do these snapshots store the entire filesystem or only a diff to what has changed since the previous snapshot? A diff would be better because it would save space. I think that's what Apple's Time machine does.

By the way, how far is Redhat from making a competitor to Apple's Time Machine with this BRFS rollback?