linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Porting BTRFS to user space
@ 2015-04-07  1:28 인정식
  2015-04-07 17:50 ` Austin S Hemmelgarn
  0 siblings, 1 reply; 5+ messages in thread
From: 인정식 @ 2015-04-07  1:28 UTC (permalink / raw)
  To: linux-btrfs@vger.kernel.org

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=euc-kr, Size: 714 bytes --]

Hello BTRFS developers,

I am requesting your opion.

I am planning to design and implement DFS version of BTRFS.
Roughly it will be done by
    1. Extending current DeviceID to NodeID:DeviceID to support multi-node, and
    2. Implementing inter-node data and meta-data access over TCP.
Do you think it would be feasible?

For development, I would like to port the kernel code to user space.
I could continue to run in user mode or be ported back to kernel space.
But I don't know how can I start to porting the kernel code to user space.
Is there anyone who can help?

Thanks,
Jeongsikÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±ý»k~ÏâžØ^n‡r¡ö¦zË\x1aëh™¨è­Ú&£ûàz¿äz¹Þ—ú+€Ê+zf£¢·hšˆ§~†­†Ûiÿÿïêÿ‘êçz_è®\x0fæj:+v‰¨þ)ߣøm

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: Re: Porting BTRFS to user space
@ 2015-04-07 23:57 인정식
  2015-04-08 11:37 ` Austin S Hemmelgarn
  0 siblings, 1 reply; 5+ messages in thread
From: 인정식 @ 2015-04-07 23:57 UTC (permalink / raw)
  To: Austin S Hemmelgarn, linux-btrfs@vger.kernel.org

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=euc-kr, Size: 1807 bytes --]

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


------- Original Message -------
Sender : Austin S Hemmelgarn<ahferroin7@gmail.com> 
Date   : 2015-04-08 02:50 (GMT+09:00)
Title  : Re: Porting BTRFS to user space

On 2015-04-06 21:28, ÀÎÁ¤½Ä wrote:
> Hello BTRFS developers,
> 
> I am requesting your opion.
> 
> I am planning to design and implement DFS version of BTRFS.
> Roughly it will be done by
>     1. Extending current DeviceID to NodeID:DeviceID to support multi-node, and
>     2. Implementing inter-node data and meta-data access over TCP.
> Do you think it would be feasible?
> 
> For development, I would like to port the kernel code to user space.
> It could continue to run in user mode or be ported back to kernel space.
> But I don't know how can I start to porting the kernel code to user space.
> Is there anyone who can help?
> 
> Thanks,
> JeongsikN?²æ?r?yúè?b?¬¶Ç§v?^?)Þº{.n?+??{?Úß?)?æèw*\x1fjg¬±?\x1e????/??z¹Þ??2??è­?&?)ß¡?¶Ú\x7f?\x1e???h?\x0f?j:+v???Ù¥
> 
Personally, my suggestion would be to start with a port to FUSE, and
then start implementing your modifications off of that.  That said, much
of the code should already be available in userspace through libbtrfs,
which is packaged with btrfs-progs.

<p>&nbsp;</p><p>&nbsp;</p>ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±ý»k~ÏâžØ^n‡r¡ö¦zË\x1aëh™¨è­Ú&£ûàz¿äz¹Þ—ú+€Ê+zf£¢·hšˆ§~†­†Ûiÿÿïêÿ‘êçz_è®\x0fæj:+v‰¨þ)ߣøm

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: Re: Porting BTRFS to user space
@ 2015-04-08 12:03 인정식
  2015-04-08 12:27 ` Hugo Mills
  0 siblings, 1 reply; 5+ messages in thread
From: 인정식 @ 2015-04-08 12:03 UTC (permalink / raw)
  To: Austin S Hemmelgarn, linux-btrfs@vger.kernel.org

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=euc-kr, Size: 2090 bytes --]

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@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>&nbsp;</p><p>&nbsp;</p>ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±ý»k~ÏâžØ^n‡r¡ö¦zË\x1aëh™¨è­Ú&£ûàz¿äz¹Þ—ú+€Ê+zf£¢·hšˆ§~†­†Ûiÿÿïêÿ‘êçz_è®\x0fæj:+v‰¨þ)ߣøm

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-04-08 13:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-07  1:28 Porting BTRFS to user space 인정식
2015-04-07 17:50 ` Austin S Hemmelgarn
  -- strict thread matches above, loose matches on Subject: below --
2015-04-07 23:57 인정식
2015-04-08 11:37 ` Austin S Hemmelgarn
2015-04-08 12:03 인정식
2015-04-08 12:27 ` Hugo Mills
2015-04-08 13:13   ` Chris Samuel
2015-04-08 13:38     ` Stef Bon

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).