Booting from BTRFS
The headline feature for 0.4.10 would have to be ReactOS’ ability to now boot from a BTRFS formatted drive. The work enabling this was part of this year’s Google Summer of Code with student developer Victor Perevertkin. While the actual filesystem driver itself is from the WinBtrfs project by Mark Harmstone, much of Victor’s work was in filling out the bits and pieces of ReactOS that the driver expected to interact with. The filesystem stack in ReactOS is arguably one of the less mature components by simple dint of there being so few open source NT filesystem drivers to test against. Those that the project uses internally have all gone through enough iterations that gaps in ReactOS are worked around. WinBtrfs on the other hand came with no such baggage to its history and instead made full use of the documented NT filesystem driver API.
Parallel to this effort was more basic work needed to expose the option to use BTRFS in the ReactOS installer and bootloader. It is all well and good for ReactOS to have a working driver, but the user ultimately needs to have a way to put it into use. The combined effort proved fruitful indeed, and users are invited to try out BTRFS support in 0.4.10. The newness of the feature will mean there will be the inevitable bug here and there, but it can only be with the community’s assistance in reporting them that the project can further improve.
When someone uses ReactOS, the interface through which they do so is the shell. And underpinning the shell’s functionality is the shell32 library, whose improvements are often directly exposed to the end user. For the past few months Katayama Hirofumi, a longtime contributor to the project, has fleshed out several new features while making improvements to other existing ones.
For those of us whom do any significant amount of work on the command prompt, a wide range of tricks and shortcuts exist to make our lives easier. One such trick is being able to drag and drop a file or directory from the file explorer onto the command line in order to get its full path. And to complement this trick, Katayama-san has also made improvements to those of us that are steeped in the graphical shell more than the command prompt. In the past ReactOS offered only extremely limited means of interacting with things in the shell. Folders in explorer were rendered only a certain way, you could not change whether to use a single versus double click to enter them, and interacting with multiple windowed applications was clunky and more limited than one might expect. All this and more have been improved, and the following screenshot sums up that improvement far more succinctly than mere words can.