[3981] in arla-drinkers

home help back first fref pref prev next nref lref last post

nnpfs/xfs tutorial

daemon@ATHENA.MIT.EDU (Kristaps Johnson)
Fri Jul 14 12:43:00 2006

From arla-drinkers-bounces@stacken.kth.se Fri Jul 14 16:43:00 2006
Return-Path: <arla-drinkers-bounces@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 11779 invoked from network); 14 Jul 2006 16:42:59 -0000
Received: from mx3.kth.se (130.237.48.97)
  by charon.mit.edu with SMTP; 14 Jul 2006 16:42:59 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mx3.kth.se (Postfix) with ESMTP id 448A8140BBB;
	Fri, 14 Jul 2006 18:42:58 +0200 (CEST)
Received: from mx3.kth.se ([127.0.0.1])
 by localhost (mx3.kth.se [127.0.0.1]) (amavisd-new, port 10024) with LMTP
 id 08117-01-98; Fri, 14 Jul 2006 18:42:56 +0200 (CEST)
Received: from tapas.stacken.kth.se (tapas.stacken.kth.se [130.237.234.140])
	by mx3.kth.se (Postfix) with ESMTP id B6755140BC6;
	Fri, 14 Jul 2006 18:42:56 +0200 (CEST)
Received: from tapas.stacken.kth.se (localhost [127.0.0.1])
	by tapas.stacken.kth.se (Postfix) with ESMTP id 2E2F5534FC;
	Fri, 14 Jul 2006 18:42:56 +0200 (CEST)
X-Original-To: arla-drinkers@tapas.stacken.kth.se
Delivered-To: arla-drinkers@tapas.stacken.kth.se
Received: from brev.stacken.kth.se (brev.stacken.kth.se [130.237.234.84])
	by tapas.stacken.kth.se (Postfix) with ESMTP id 2E858534FC
	for <arla-drinkers@tapas.stacken.kth.se>;
	Fri, 14 Jul 2006 18:42:53 +0200 (CEST)
Received: from mx1.kth.se (mx1.kth.se [130.237.32.140])
	by brev.stacken.kth.se (8.12.10/8.12.10) with ESMTP id k6EGgq0V004559
	for <arla-drinkers@stacken.kth.se>;
	Fri, 14 Jul 2006 18:42:52 +0200 (MET DST)
Received: from localhost (localhost.localdomain [127.0.0.1])
	by mx1.kth.se (Postfix) with ESMTP id 075811407F8
	for <arla-drinkers@stacken.kth.se>;
	Fri, 14 Jul 2006 18:42:52 +0200 (CEST)
Received: from mx1.kth.se ([127.0.0.1])
	by localhost (mx1.kth.se [127.0.0.1]) (amavisd-new,
	port 10024) with LMTP
	id 02372-01-21 for <arla-drinkers@stacken.kth.se>;
	Fri, 14 Jul 2006 18:42:50 +0200 (CEST)
Received: from outbound.mailhop.org (outbound.mailhop.org [63.208.196.171])
	by mx1.kth.se (Postfix) with ESMTP id 711E6140F89
	for <arla-drinkers@stacken.kth.se>;
	Fri, 14 Jul 2006 18:42:50 +0200 (CEST)
Received: from syru32-020.syr.edu ([128.230.32.20]
	helo=dryad.gradient-enterprises.com)
	by outbound.mailhop.org with esmtpa (Exim 4.51)
	id 1G1QkK-00077n-M5; Fri, 14 Jul 2006 12:42:32 -0400
Received: from cycle0.hinterlands.net (cycle0.hinterlands.net [192.168.1.168])
	by dryad.gradient-enterprises.com (Postfix) with ESMTP id 259A43C9E9;
	Fri, 14 Jul 2006 12:58:47 -0400 (EDT)
Received: from kristaps (helo=localhost)
	by cycle0.hinterlands.net with local-esmtp (Exim 3.36 #1 (Debian))
	id 1G1Qjm-0007EP-00; Fri, 14 Jul 2006 12:41:58 -0400
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 128.230.32.20
X-Report-Abuse-To: abuse@dyndns.com (see
	http://www.mailhop.org/outbound/abuse.html for abuse reporting
	information)
X-MHO-User: wwcrew
Date: Fri, 14 Jul 2006 12:41:58 -0400 (EDT)
From: Kristaps Johnson <kristaps@gradient-enterprises.com>
X-X-Sender: kristaps@cycle0.hinterlands.net
To: arla-drinkers@stacken.kth.se
Subject: nnpfs/xfs tutorial
In-Reply-To: <Pine.LNX.4.64.0606201605200.5425@cycle0.hinterlands.net>
Message-ID: <Pine.LNX.4.64.0607141122290.3884@cycle0.hinterlands.net>
References: <Pine.LNX.4.64.0606201605200.5425@cycle0.hinterlands.net>
MIME-Version: 1.0
X-Virus-Scanned: by amavisd-new at kth.se
X-Spam-Status: No, hits=-3.7 tagged_above=-200.0 required=5.0 tests=BAYES_00, 
	RM_bwm_Generic
X-Spam-Level: 
X-BeenThere: arla-drinkers@stacken.kth.se
X-Mailman-Version: 2.1.6
Precedence: list
List-Id: Arla discussions <arla-drinkers.stacken.kth.se>
List-Unsubscribe: <https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers>, 
	<mailto:arla-drinkers-request@stacken.kth.se?subject=unsubscribe>
List-Archive: <http://lists.stacken.kth.se/pipermail/arla-drinkers>
List-Post: <mailto:arla-drinkers@stacken.kth.se>
List-Help: <mailto:arla-drinkers-request@stacken.kth.se?subject=help>
List-Subscribe: <https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers>, 
	<mailto:arla-drinkers-request@stacken.kth.se?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: arla-drinkers-bounces@stacken.kth.se
Errors-To: arla-drinkers-bounces@stacken.kth.se
X-Virus-Scanned: by amavisd-new at kth.se


Hello, everybody.  In writing a file-system atop nnpfs, I had some trouble 
sifting generic file-system operations from the arlad codebase.  In order 
to properly understand the interface, I built my own skeleton 
implementation with plentiful nnpfs documentation.

This references an arla-drinkers thread:
https://lists.stacken.kth.se/pipermail/arla-drinkers/2006-June/003959.html

I've made the documentation and sources available here:
http://sysjail.bsd.lv/xfsskel

I invite everybody familiar with the nnpfs system to tear through the 
documentation and code so that new-comers interfacing nnpfs needn't have 
the same overhead.  Wheels & pavement, etc.

There will be errors and there will be omissions.  Since I'm using xfsskel 
as my own learning tool for another project, I have lots of time to make 
corrections and additions.  Spare no criticism but keep in mind that the 
code itself is not built to be productive: in deference to brevity I've 
explicitly avoided doubling functions (like sending an OPEN request into 
GETDATA) and writing a nice node cache (among other happy things).  The 
documentation is what concerns me more.

xfsskel has its share of quirks that I've not fully ironed out.  These are 
detailed in `TODO', but in brief:

  - `ls -l' shows symlink sourcefile data, not the path
  - echo foo > some_file fails, while echo foo >> some_fail works

And so on.  Some questions are also included there.  For example:

  - Precise definition of tokens & their purpose?
  - Precise definition of pag/cred and its purpose?
  - struct installdata.offset and its purpose?
  - xfs_message_create.mode vs. xfs_message_create.attr.mode?
  - NNPFS_MSG_UPDATEFID?  NNPFS_MSG_WAKEUP_DATA?  NNPFS_MSG_COUNT?
  - xfs_message_bulkgetnode?

N.B.  As mentioned in the docs, I developed xfsskel on OpenBSD.  This has 
the disadvantage of working with an old version of nnpfs with lots of 
"xfs" references (hence "xfsskel").  I'll be porting this soon and will 
relegate the choice-logic to autoconf.

When xfsskel and its documentation are complete, I'd like them to have the 
following properties:

  - Fully working file-system (with all operations).
  - Fully documented kernel messages (all struct fields).
  - Fully documented common fields (cred, offset, etc.).
  - Well-described concepts (nodes, data transfer, etc.).

Thank you for any help!  Take care,
   Kristaps
_______________________________________________
Arla-drinkers mailing list
Arla-drinkers@stacken.kth.se
https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers

home help back first fref pref prev next nref lref last post