Thank you for the advise.
I am still wonder why there are same-name files in btrfs(kernel source) and btrfs-progs.
They are quite many as follows.
backref.{c, h}
ctree.{c, h}
dir-item.c
disk-io.{c, h}
extent_io.{c, h}
extent-tree.c
file.c
file-item.c
free-space-cashe.{c, h}
hash.h
inode.c
inode-item.c
inode-map.c
print-tree.{c, h}
props.{c, h}
qgroup.{c, h}
root-tree.c
send.h
ulist.{c, h}
uuid-tree.c
volumes.{c, h}
It seems btrfs-progs files have been ported from kernel files.
Are they the result of efforts to port btrfs from kernel to user space?
Or at least can I utilize the them so that I have to only port the remaining files?
------- Original Message -------
Sender : Austin S Hemmelgarn<ahferroin7@xxxxxxxxx>
Date : 2015-04-08 20:37 (GMT+09:00)
Title : Re: Porting BTRFS to user space
On 2015-04-07 19:57, 인정식 wrote:
> Thank you for the information.
> I just found that btrfs-progs includes several files that seem modified from btrfs kernel source.
> I am not sure exactly what they are.
> Web pages say libbtrfs is to provide interface for apps that use btrfs.
> Why should there be duplicated codes between kernel and user space?
> Is it an on-going effort to port whole btrfs to user space?
>
> Could you lead me to some more information about libbtrfs or how to port btrfs to user space?
>
> Thank you,
> Jeongsik
>
>
As far as I understand it, the intent is to allow things like btrfs
check and btrfs restore to still work even if the kernel doesn't have
btrfs support. From what I can tell, you are the first person to
actually be serious about getting BTRFS running in userspace, so there
probably isn't much BTRFS specific literature out there.
I would, however suggest looking at the FUSE drivers for ext4 and ZFS,
as those are both ported from kernel space, and should give some good
examples of where to start.
<p> </p><p> </p>ÿ淸º{.nÇ+돴윯돪†+%듚ÿ깁負¥Šwÿº{.nÇ+돴¥Š{깰»k~穹왲^n‡r⊆¦zË곷h솳鈺Ú&{àz요z받쀺+€Ê+zf"·hš닱~넮녬iÿÿï곴ÿ묎çz_溫æj:+v돣þ)山øm