[OpenAFS-devel] [GSoC2010] the kafs project of OpenAFS

Dale Pontius pontius@btv.ibm.com
Thu, 08 Apr 2010 10:56:49 -0400


On 04/07/10 22:23, Wang Lei wrote:
> Hello, my name is weylan, Chinese name is Wang Lei. Last year, I have
> took the project kafs of OpenAFS , as a student of GSoC2009. I have
> finished partly a task, as Linus and some of the Linux community
> against implement pioctl() directly in the kernel. We used other ways
> to talk to the kernel after we gave up some implementation that have
> done. There is my project idea and time line at last. My major is
> distributed file system. As I have some experience of my research and
> this project, I think I could do it well.
>
>
> The Project Idea And Time Line
>
> Last year, I have finished partly a task, that a common pioctl
> implemention between kafs and OpenAFS to allow sharing of userspace.
> As Linus and some of the Linux community against implement pioctl()
> directly in the kernel. We used [gs]etxattr(), add_key() and keyctl()
> and /proc, plus the experimental open(O_NODE) to talk to the kernel,
> that we have done last year. Then the first task of this year's
> project is that, I would implement some of the OpenAFS file system
> commands that have not yet been integrated into kafs, and do some work
> to support the OpenAFS userspace tools for kafs. Under the work last
> year, I thought I could finish that.
>
> Another task is to let kafs support obtain cell server location from
> AFSDB records through DNS. In the past server days, I have read the
> code of cifs and some openafs code to have a idea how to implement the
> task. I thought it's not too hard for the design, but a straight
> forward implement. I am a little clear about this task and maybe I
> could finish that first. This is support in the OpenAFS unix/windows
> client.
>   
I work for a large multinational, and my CellServDB file, for lack of a
better word - big.  Dozens of cells and well over 100 cell (not file)
servers.  Can you describe a little better how the AFSDB records can be
used to build a dynamic CellServDB structure, especially without picking
up all of the non-Company afs cell servers from public dns?
> I found no DNS query API or code can be used int the kernel, but some
> of the cifs maybe useful. I should send a DNS query and resolve the
> answer to cell server location. I thought I should do that in the
> kernel, and the DNS query type is here,
> http://www.protocolbase.net/protocols/protocol_DNS.php and
> http://tools.ietf.org/html/rfc1183. Some work of that is just in the
> mount point operation.
>  Maybe I should pass the DNS lookup off to user space, I would talk
> with the mentor later.
>   
Most would favor pushing as much into userspace as can be done well
there.  Keep in the kernel only what needs to be in the kernel.
> I have found some documentation about the kafs callback interface. I
> thought it's like the nfs callback for delegation and file layout. I
> thought I could try to implement some feature.
>
>   OpenAFS and kafs to be running on the same machine using different
> port numbers, is that only need to change one port and so on? And the
> project making a standard keyring implementation that would allow the
> client to obtain authentication tokens that would work for both kafs
> and OpenAFS.
>   
I like the idea of using kafs - really I'd just as soon use kafs with
the OpenAFS userspace.  Nouveau is getting to the point of being usable,
removing the nVidia kernel taint.  Only the OpenAFS kernel taint is
left, and kafs would get rid of that.

Thanks,

-- 
Dale Pontius
Senior Engineer
IBM Corporation
Phone: (802) 769-6850
Tie-Line: 446-6850
email: pontius@us.ibm.com

This e-mail and its attachments, if any, may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message from your system without copying it and notify sender of the misdirection by reply e-mail.