Jump to content











Photo
- - - - -

WinBtrfs: Windows filesystem driver for Btrfs


  • Please log in to reply
3 replies to this topic

#1 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1062 posts
  •  
    Belgium

Posted 23 February 2016 - 10:09 AM

WinBtrfs v0.1
-------------

WinBtrfs is a Windows driver for the next-generation Linux filesystem Btrfs. The
ultimate aim is for it be to feature-complete, but most of the basics are there
already. It is a reimplementation from scratch, and contains no code from the
Linux kernel. First, a disclaimer:

This software is in active development - YOU USE IT AT YOUR OWN RISK. I take NO
RESPONSIBILITY for any damage it may do to your filesystem. DO NOT USE THIS
DRIVER UNLESS YOU HAVE FULL AND UP-TO-DATE BACKUPS OF ALL YOUR DATA. Do not rely
on Btrfs' internal mechanisms: SNAPSHOTS ARE NOT BACKUPS, AND DO NOT RULE OUT
THE POSSIBILITY OF SILENT CORRUPTION.

In other words, assume that the driver is going to corrupt your entire
filesystem, and you'll be pleasantly surprised when it doesn't.

Everything here is released under the GNU Lesser General Public Licence (LGPL);
see the file LICENCE for more info. You are encouraged to play about with the
source code as you will, and I'd appreciate a note (mark@harmstone.com) if you
come up with anything nifty. On top of that, I'm open to relicensing the code if
you've a burning desire to use it on a GPL or commercial project, or what have
you - drop me a line and we'll talk.

FEATURES:
--------

* Reading and writing of Btrfs filesystems
* Caching
* Discovery of Btrfs partitions, even if Windows would normally ignore them
* Getting and setting of Access Control Lists (ACLs), using the xattr
  security.NTACL
* Alternate Data Streams (e.g. :Zone.Identifier is stored as the xattr
  user.Zone.Identifier)
* Supported incompat flags: mixed_backref, default_subvol, big_metadata,
  extended_iref, skinny_metadata.
* Mappings from Linux users to Windows ones (see below)
* Symlinks

TODO:
----

* Basic RAID: RAID0, RAID1, and RAID10
* RAID5 and RAID6 (incompat flag raid56)
* Zlib compression
* LZO compression (incompat flag compress_lzo)
* Old free space cache
* New (Linux 4.5) free space cache (compat_ro flag free_space_cache)
* Preallocation
* Misc incompat flags: mixed_groups, no_holes
* Userspace helper to create new subvolumes, etc.
* Asynchronous reading and writing
* Actually obeying security (ACLs and ACCESS_MASK)
* Get all of Wine's ntdll tests to pass
* Allow creation of hard links
* Arbitrary reparse points
* Probably a bunch of other bugs

https://github.com/maharmstone/btrfs


  • Nuno Brito likes this

#2 Nuno Brito

Nuno Brito

    Platinum Member

  • Team Reboot
  • 10447 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 23 February 2016 - 10:11 AM

Hello,

 

What would be advantage of using Btrfs in comparison to ZFS, for example?

 

I know the licensing aspect is different, but what would be better from a technical perspective?

 

Thanks.



#3 Icecube

Icecube

    Gold Member

  • Team Reboot
  • 1062 posts
  •  
    Belgium

Posted 23 February 2016 - 01:48 PM

The "advantage" (or disadvantage depending on your view) of Btrfs is that it designed for Linux instead of BSD.

 

I guess nowadays there is not that much difference in features and stability between ZFS and Btrfs as there was a few years ago.

 

For example, facebook is a heavy user of Btrfs:

http://www.virtualto...ext-filesystem/

 

ZFS was also a bit more difficult to install on Linux, although Ubuntu 15.10 has ZFS support included by default:

https://wiki.ubuntu....l/Reference/ZFS



#4 Nuno Brito

Nuno Brito

    Platinum Member

  • Team Reboot
  • 10447 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 23 February 2016 - 05:33 PM

The link you mention was very clear.

 

Seems to have good things:

Another aspect of BTRFS is its performance. Because of its modern design and the b-tree structure, BTRFS is damn fast. If you didn’t already, look at the video above starting from 30:30. They have run a test against the same storage, formatted at different stages with XFS, EXT4 and BTRFS, and they wrote around 24 million files of different size and layout. XFS takes 430 seconds to complete the operations and it was performance bound by its log system; EXT4 took 200 seconds to complete the test, and its limit comes from the fixed inode locations. Both limits are the results of their design, and overcoming of those limits was one of the original goal of BTRFS. Did they succeed? The same test took 62 seconds to be completed on BTRFS, and the limit was the CPU and Memory of the test system, while both XFS and EXT4 were able to use only around 25% of the available CPU because they were quickly IO bound.

 

Also, like the fact that it removes the need for hardware/software RAID. Really need to see how that is working. Very nice just from the description (albeit not seemingly available on the Windows version yet).

 

:cheers:






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users