# GSoC 2018 weeks 3-4 - understanding BTRFS internals

DevFeed: [GSoC 2018 weeks 3-4 - understanding BTRFS internals](<https://devfeed.tech/articles/gsoc-2018-weeks-3-4-understanding-btrfs-internals-32801.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/gsoc-2018-weeks-3-4-understanding-btrfs-internals/>)

Published: 2018-06-14T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [btrfs](<https://devfeed.tech/topics/btrfs.md>), [Python](<https://devfeed.tech/topics/python.md>), [virtualbox image](<https://devfeed.tech/topics/virtualbox-image.md>)

Tags: [btrfs](<https://devfeed.tech/tags/btrfs.md>), [free](<https://devfeed.tech/tags/free.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [python](<https://devfeed.tech/tags/python.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [virtualbox-image](<https://devfeed.tech/tags/virtualbox-image.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

## AI overview

A GSoC progress post describing work to understand Btrfs on-disk structures. The author wrote a Python parser for basic Btrfs structures, item types, B-tree searches, and logical-to-physical address translation, then used it to read freeldr.sys from a filesystem blob.

## Source excerpt

Hi all! This two weeks I was diving into btrfs structures and on-disk layout. Writing an ASM program from scratch is not that simple so I decided to convert a VirtualBox image with BTRFS filesystem in it to raw file and write a python script to parse and show internal filesystem structures. It was also useful for understanding how files are stored in FS, because information on btrfs.wiki.kernel.org was not enough for me to understand some corner cases.