From: Simon Quigley <tsimonq2@ubuntu.com>
To: Qu Wenruo <quwenruo@cn.fujitsu.com>, Filipe Manana <fdmanana@gmail.com>
Cc: Philippe Loctaux <phil@philippeloctaux.com>,
"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>
Subject: Re: [Question]: Contributing to btrfs
Date: Mon, 22 Feb 2016 20:07:30 -0600 [thread overview]
Message-ID: <1456193250.3588.29.camel@ubuntu.com> (raw)
In-Reply-To: <56CBB6B0.9020307@cn.fujitsu.com>
> And, even employed, at least I also went through that phase.
> (Not to mention I also started by sending small cleanups)
Thank you. I read Linus' statement somewhere, I just can't find it!
> Despite reading the code, which sometimes is quite boring and easy to
> get lost especially when you are not familiar with btrfs,
> personally I recommend to start from btrfs on-disk format with
> btrfs-dedup-tree.
I'll RTFM on this one because I don't know what this is.
> And my personal quick-and-dirty skill up roadmap would be:
> 1) Understand btrfs on-disk format
> 2) btrfs-progs contributor
> 3) btrfs kernel contributor
Should this be documented somewhere?
> On-disk data is static and you don't need to care any of the complicated
> implementation or details.
> All you need to care is, what is on disk, what's the meaning of that
> on-disk data, and how on-disk data change after you did something with
> the btrfs filesystem, like creating a empty file/dir, or write some data
> into it.
>
> Also, when you play with btrfs-debug-tree, it's quite easy to get
> familiar how btrfs-debug-tree works, and maybe found some easy
> enhancement for btrfs-debug-tree.
>
> On-disk format also provides a super good entry point for further reading.
>
> If you want to understand how btrfs inserts file extents, as long as you
> find file extents use EXTENT_DATA key type, you can easily find the
> direct code which inserts that key into btrfs btree.
>
> With btrfs-debug-tree as a learning tool, you will be quite easy to
> begin your contribution to btrfs-progs, like adding some output which
> current btrfs-debug-tree lacks.
>
> After you're familiar with btrfs-progs enough, all skills learnt will
> help you to start your kernel contribution, although kernel is never as
> easy as btrfs-progs, but I think that's your object.
I agree, because the userspace tool probably uses kernel calls of some sort.
> I think David, one of the kernel maintainers and btrfs-progs maintainer,
> and Filipe, one of the core and the most active developer, their words
> have carries a lot of weight.
I apologize, I'm new around here, I thought Chris was the sole maintainer of all of btrfs. I also
wanted his additional feedback, but I guess that isn't really needed. :)
For all of you, thank you for taking time to help Philippe and myself out with this. I'm new to
kernel development and I'd really like to help out with btrfs because I feel it has serious
potential. I'm glad I learned how to submit patches, and I'll look into the resources suggested. In
my opinion this should be documented somewhere, a btrfs-specific thing, because I would much rather
RTFM then have to wait and ask questions (although the latter still is valuable). If you have any
other feedback for beginning kernel development that you would like to share, please, send me an
email or PM me on IRC. I'm on #btrfs on Freenode.
Thanks,
Simon Quigley
tsimonq2@ubuntu.com
tsimonq2 on Freenode
next prev parent reply other threads:[~2016-02-23 2:07 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-20 21:09 [Question]: Contributing to btrfs Philippe Loctaux
2016-02-20 22:40 ` Philippe Loctaux
2016-02-21 6:14 ` Duncan
2016-02-22 1:18 ` Qu Wenruo
2016-02-22 7:26 ` Philippe Loctaux
2016-02-22 7:34 ` Qu Wenruo
2016-02-22 7:42 ` Philippe Loctaux
2016-02-22 10:47 ` Filipe Manana
2016-02-22 12:02 ` Simon Quigley
2016-02-22 13:29 ` Filipe Manana
2016-02-22 14:45 ` Simon Quigley
2016-02-23 1:32 ` Qu Wenruo
2016-02-23 2:07 ` Simon Quigley [this message]
2016-02-23 2:20 ` Qu Wenruo
2016-02-22 16:45 ` Philippe Loctaux
2016-02-22 12:18 ` David Sterba
2016-02-22 16:41 ` Philippe Loctaux
2016-02-22 17:15 ` David Sterba
2016-02-22 11:34 ` David Sterba
2016-02-22 16:38 ` Philippe Loctaux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1456193250.3588.29.camel@ubuntu.com \
--to=tsimonq2@ubuntu.com \
--cc=fdmanana@gmail.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=phil@philippeloctaux.com \
--cc=quwenruo@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).