Skip to content

Commit

Permalink
VERSION 0.10
Browse files Browse the repository at this point in the history
  • Loading branch information
maharmstone committed May 2, 2017
1 parent 1effe56 commit fbd6d82
Show file tree
Hide file tree
Showing 36 changed files with 63 additions and 18 deletions.
Binary file modified Debug/x64/btrfs.pdb
Binary file not shown.
Binary file modified Debug/x64/btrfs.sys
Binary file not shown.
Binary file modified Debug/x64/mkbtrfs.exe
Binary file not shown.
Binary file modified Debug/x64/mkbtrfs.pdb
Binary file not shown.
Binary file modified Debug/x64/shellbtrfs.dll
Binary file not shown.
Binary file modified Debug/x64/shellbtrfs.pdb
Binary file not shown.
Binary file modified Debug/x64/ubtrfs.dll
Binary file not shown.
Binary file modified Debug/x64/ubtrfs.pdb
Binary file not shown.
Binary file modified Debug/x86/btrfs.pdb
Binary file not shown.
Binary file modified Debug/x86/btrfs.sys
Binary file not shown.
Binary file modified Debug/x86/mkbtrfs.exe
Binary file not shown.
Binary file modified Debug/x86/mkbtrfs.pdb
Binary file not shown.
Binary file modified Debug/x86/shellbtrfs.pdb
Binary file not shown.
Binary file modified Debug/x86/ubtrfs.dll
Binary file not shown.
Binary file modified Debug/x86/ubtrfs.pdb
Binary file not shown.
59 changes: 52 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
WinBtrfs v0.9
-------------
WinBtrfs v0.10
--------------

WinBtrfs is a Windows driver for the next-generation Linux filesystem Btrfs. The
aim is for it to be feature-complete, with only a few features still
Expand Down Expand Up @@ -36,7 +36,6 @@ will find it useful. But if you want to provide some pecuniary encouragement, it
be very much appreciated:

* [Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=3XQVCQ6YB55L2&lc=GB&item_name=WinBtrfs%20donation&currency_code=GBP&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted)
* Alipay (user account [email protected])

Features
--------
Expand Down Expand Up @@ -71,12 +70,12 @@ Features
* Creation of new filesystems with `mkbtrfs.exe` and `ubtrfs.dll`
* Scrubbing
* TRIM/DISCARD
* Reflink copy
* Subvol send and receive

Todo
----

* Reflink copy
* Subvol send and receive
* Degraded mounts
* New (Linux 4.5) free space cache (compat_ro flag `free_space_cache`)
* Passthrough of permissions etc. for LXSS
Expand Down Expand Up @@ -117,15 +116,50 @@ is somewhere else, you'll need to edit the project settings. You'll also need to
edit the post-build steps for the 64-bit versions, which are set up to
self-sign using my own certificate.

User mappings
-------------
Mappings
--------

The user mappings are stored in the registry key
HKLM\SYSTEM\CurrentControlSet\services\btrfs\Mappings. Create a DWORD with the
name of your Windows SID (e.g. S-1-5-21-1379886684-2432464051-424789967-1001),
and the value of your Linux uid (e.g. 1000). It will take effect next time the
driver is loaded.

Similarly, the group mappings are stored in under GroupMappings. The default
entry maps Windows' Users group to gid 100, which is usually "users" on Linux.
You can also specify user SIDs here to force files created by a user to belong
to a certain group. The setgid flag also works as on Linux.

Commands
--------

The DLL file shellbtrfs.dll provides the GUI interface, but it can also be used
with rundll32.exe to carry out some tasks from the command line, which may be
useful if you wish to schedule something to run periodically.

Bear in mind that rundll32 provides no mechanism to return any error codes, so
any of these commands may fail silently.

* `rundll32.exe shellbtrfs.dll,CreateSubvol <path>`

* `rundll32.exe shellbtrfs.dll,CreateSnapshot <source> <destination>`

* `rundll32.exe shellbtrfs.dll,ReflinkCopy <source> <destination>`
This also accepts wildcards, and any number of source files.

The following commands need various privileges, and so must be run as Administrator
to work:

* `rundll32.exe shellbtrfs.dll,SendSubvol <source> [-p <parent>] [-c <clone subvol>] <stream file>`
The -p and -c flags are as `btrfs send` on Linux. You can specify any number of
clone subvolumes.

* `rundll32.exe shellbtrfs.dll,RecvSubvol <stream file> <destination>`

* `rundll32.exe shellbtrfs.dll,StartScrub <drive>`

* `rundll32.exe shellbtrfs.dll,StopScrub <drive>`

Troubleshooting
---------------

Expand Down Expand Up @@ -179,6 +213,17 @@ flag, e.g. `format /fs:ntfs D:`.
Changelog
---------

v0.10 (2017-05-02):
* Reflink copy
* Sending and receiving subvolumes
* Group mappings (see Mappings section above)
* Added commands for scripting etc. (see Commands section above)
* Fixed an issue preventing mounting on non-PNP devices, such as VeraCrypt
* Fixed an issue preventing new versions of LXSS from working
* Fixed problem with the ordering of extent refs, which caused problems on Linux but wasn't picked up by `btrfs check`
* Added support for reading compressed inline extents
* Many miscellaneous bug fixes

v0.9 (2017-03-05):
* Scrubbing
* TRIM/DISCARD
Expand Down
6 changes: 3 additions & 3 deletions src/btrfs.rc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include <winres.h>
#include "winres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
Expand Down Expand Up @@ -70,12 +70,12 @@ BEGIN
BLOCK "080904b0"
BEGIN
VALUE "FileDescription", "WinBtrfs"
VALUE "FileVersion", "0.9"
VALUE "FileVersion", "0.10"
VALUE "InternalName", "btrfs"
VALUE "LegalCopyright", "Copyright (c) Mark Harmstone 2016-17"
VALUE "OriginalFilename", "btrfs.sys"
VALUE "ProductName", "WinBtrfs"
VALUE "ProductVersion", "0.9"
VALUE "ProductVersion", "0.10"
END
END
BLOCK "VarFileInfo"
Expand Down
6 changes: 3 additions & 3 deletions src/mkbtrfs/mkbtrfs.rc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include <winres.h>
#include "winres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
Expand Down Expand Up @@ -70,12 +70,12 @@ BEGIN
BLOCK "080904b0"
BEGIN
VALUE "FileDescription", "Btrfs formatting utility"
VALUE "FileVersion", "0.9"
VALUE "FileVersion", "0.10"
VALUE "InternalName", "mkbtrfs"
VALUE "LegalCopyright", "Copyright (c) Mark Harmstone 2016-17"
VALUE "OriginalFilename", "mkbtrfs.exe"
VALUE "ProductName", "WinBtrfs"
VALUE "ProductVersion", "0.9"
VALUE "ProductVersion", "0.10"
END
END
BLOCK "VarFileInfo"
Expand Down
4 changes: 2 additions & 2 deletions src/shellext/shellbtrfs.rc
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,12 @@ BEGIN
BLOCK "080904b0"
BEGIN
VALUE "FileDescription", "WinBtrfs shell extension"
VALUE "FileVersion", "0.9"
VALUE "FileVersion", "0.10"
VALUE "InternalName", "btrfs"
VALUE "LegalCopyright", "Copyright (c) Mark Harmstone 2016-17"
VALUE "OriginalFilename", "shellbtrfs.dll"
VALUE "ProductName", "WinBtrfs"
VALUE "ProductVersion", "0.9"
VALUE "ProductVersion", "0.10"
END
END
BLOCK "VarFileInfo"
Expand Down
6 changes: 3 additions & 3 deletions src/ubtrfs/ubtrfs.rc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include <winres.h>
#include "winres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
Expand Down Expand Up @@ -70,12 +70,12 @@ BEGIN
BLOCK "080904b0"
BEGIN
VALUE "FileDescription", "Btrfs utility DLL"
VALUE "FileVersion", "0.9"
VALUE "FileVersion", "0.10"
VALUE "InternalName", "ubtrfs"
VALUE "LegalCopyright", "Copyright (c) Mark Harmstone 2016-17"
VALUE "OriginalFilename", "ubtrfs.dll"
VALUE "ProductName", "WinBtrfs"
VALUE "ProductVersion", "0.9"
VALUE "ProductVersion", "0.10"
END
END
BLOCK "VarFileInfo"
Expand Down
Binary file modified x64/btrfs.pdb
Binary file not shown.
Binary file modified x64/btrfs.sys
Binary file not shown.
Binary file modified x64/mkbtrfs.exe
Binary file not shown.
Binary file modified x64/mkbtrfs.pdb
Binary file not shown.
Binary file modified x64/shellbtrfs.dll
Binary file not shown.
Binary file modified x64/shellbtrfs.pdb
Binary file not shown.
Binary file modified x64/ubtrfs.dll
Binary file not shown.
Binary file modified x64/ubtrfs.pdb
Binary file not shown.
Binary file modified x86/btrfs.pdb
Binary file not shown.
Binary file modified x86/btrfs.sys
Binary file not shown.
Binary file modified x86/mkbtrfs.exe
Binary file not shown.
Binary file modified x86/mkbtrfs.pdb
Binary file not shown.
Binary file modified x86/shellbtrfs.dll
Binary file not shown.
Binary file modified x86/shellbtrfs.pdb
Binary file not shown.
Binary file modified x86/ubtrfs.dll
Binary file not shown.
Binary file modified x86/ubtrfs.pdb
Binary file not shown.

0 comments on commit fbd6d82

Please sign in to comment.