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<ahferro...@gmail.com> 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>