History log of /haiku/src/add-ons/kernel/file_systems/nfs4/Jamfile
Revision Date Author Comments
# 469f13fd 25-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: support hard links properly

The main purpose of this patch is to prevent VFS from removing a vnode to early
what might have happened if the NFS client knew it had more than one name but
then one of them was deleted. Moreover, all discovered and still valid names
are stored what may be useful in proper file handle recovery when they are
volatile.

This patch fixes both #9558 and #9561.


# 4d120407 04-Jan-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Remove CacheRevalidator

There is no point in periodically revalidating all existing directory caches.
Directory snapshot can be revalidated when readdir is invoked.


# b352cbf6 03-Dec-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Introduce VnodeToInode mapping

VnodeToInode is another abstraction layer between VFS vnodes and NFS nodes.
It simplifies dealing with race conditions as well as faking some guarantees
VFS expects but NFS does not provide.


# 41217416 06-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add asynchronous work queue


# 4a153753 05-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Return delegations when asked to


# feb15cc6 04-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Reply to incorrect and CB_NULL callback requests


# 94c47dc6 04-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add basic RPC level support for callbacks


# eeabdab1 03-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Do not open too much files on server


# 7efb4c9b 03-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add ACCESS cache


# 0dbff361 03-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Move low level NFS4 code to Inode's base class


# 75fe7b90 18-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add directory and name basic implementation


# 00a8558c 08-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Rename Filehandle to FileHandle and Filesystem to FileSystem


# b2cea80c 03-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add id mapper


# 9b7f2d1b 02-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Move file handle recovery code out of Inode class


# 2a73e4c5 28-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Put file and dir specific code in separate files


# 2f03ff09 28-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add full support for lease migration


# e586522b 28-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use MutexLocker for locking


# be4c74ea 21-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: close*() should wake all blocked operations


# 6ee3ed0f 12-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add per server NFS4 objects

RPC::Server is now able to store RPC programs data.
NFS4Server objects are currently used mainly for managing client id.


# 01d6381d 11-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add Request class for better handling of NFS4 requests


# bf31ee39 30-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add stub Inode class, fix and extend Filesystem class

Additionally PUTFH support is added to both RequestBuilder and
ReplyInterpreter.


# 45aa18ac 30-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add stub Filesystem class and Mount method


# 196403c9 29-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add NFS4 reply interpreter

Currently supported operations are: ACCESS, GETATTR (partially), GETFH,
LOOKUP and PUTROOTFH.


# d08c284c 29-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add NFS4 request builder

Currently supports only the following operations: ACCESS, GETATTR, GETFH
LOOKUP and PUTROOTFH.


# b35311f1 25-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add RPC main communication code

RPC::Server represents a server client is connected to.
RPC::RequestManager stores all call that have been sent but no answer was
received so far.
RPC::ServerManager is responsible for reusing connections to the servers
and closing them when no longer needed.


# da59bc46 25-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add stub RPC reply code

RPC::Reply interprets incoming RPC replies. Currently only XID is
read.


# 313da82b 25-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add call generation code including authentication

RPC::Call generates a RPC call using provided RPC::Auth objects.
RPC::Auth supports AUTH_NONE and AUTH_SYS authentication protocols.


# 42b2ae1c 25-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add XDR encoder and decoder

Base classes XDR::Stream and classes XDR::WriteStream and XDR::ReadStream
are added. They implement encoding and decoding XDR (RFC 4506) streams.
All data types used by RPC and NFS4 are supported.


# e4977f20 24-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add network code

Connection class supports sending and receiving RPC data using either
TCP or UDP as a transport protocol.


# 8fe02d0c 24-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Initial commit

Empty file system with only mounting supported.


# 469f13fdfe886f0eca9cc9204ad2e3da7377f7ba 25-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: support hard links properly

The main purpose of this patch is to prevent VFS from removing a vnode to early
what might have happened if the NFS client knew it had more than one name but
then one of them was deleted. Moreover, all discovered and still valid names
are stored what may be useful in proper file handle recovery when they are
volatile.

This patch fixes both #9558 and #9561.


# 4d120407378d6ec21783c076cdbb753e81a62eba 04-Jan-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Remove CacheRevalidator

There is no point in periodically revalidating all existing directory caches.
Directory snapshot can be revalidated when readdir is invoked.


# b352cbf6ca8ed101ac83e0f87747b8be47dda1df 03-Dec-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Introduce VnodeToInode mapping

VnodeToInode is another abstraction layer between VFS vnodes and NFS nodes.
It simplifies dealing with race conditions as well as faking some guarantees
VFS expects but NFS does not provide.


# 412174162e796c3208a93041f33b7de45425c847 06-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add asynchronous work queue


# 4a153753100503cf374d01079fb29ca83d3ac44b 05-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Return delegations when asked to


# feb15cc63ce6f32dc73e8322c165266d4a11b149 04-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Reply to incorrect and CB_NULL callback requests


# 94c47dc6a85fa8c028382eb3b54e04f40d08590c 04-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add basic RPC level support for callbacks


# eeabdab19f7fe5d1a704d21cf0dbb67c0c80c8a7 03-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Do not open too much files on server


# 7efb4c9b493ccd82c277f013238cfc78aa8ab62d 03-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add ACCESS cache


# 0dbff361721c31a831a7adda62f198b6e6960b23 03-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Move low level NFS4 code to Inode's base class


# 75fe7b90bbb751ea161dc6d4c81a3f8e694047b5 18-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add directory and name basic implementation


# 00a8558cc75d9aee84f6d9b34c28d6706952558c 08-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Rename Filehandle to FileHandle and Filesystem to FileSystem


# b2cea80ce5328c07e9f5c42c72213c186737aea5 03-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add id mapper


# 9b7f2d1b24a8f67aacc5f80434f9480a10f88e25 02-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Move file handle recovery code out of Inode class


# 2a73e4c578d91aa936a012a930d543154a94a1c0 28-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Put file and dir specific code in separate files


# 2f03ff09af62ad9036c0c90d6388de860deaf7ca 28-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add full support for lease migration


# e586522b518ec2fcb0212f55f3b83fb09e3516a3 28-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use MutexLocker for locking


# be4c74ead31246bd9b332f83a9e298969385fc4e 21-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: close*() should wake all blocked operations


# 6ee3ed0f6f3da3a9d930837b75ab4e6416ce8cd8 12-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add per server NFS4 objects

RPC::Server is now able to store RPC programs data.
NFS4Server objects are currently used mainly for managing client id.


# 01d6381d20122ada695eefd7696b156800808662 11-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add Request class for better handling of NFS4 requests


# bf31ee39e56f00cb60142910f1770e0a26b604b5 30-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add stub Inode class, fix and extend Filesystem class

Additionally PUTFH support is added to both RequestBuilder and
ReplyInterpreter.


# 45aa18ac4c26d8845dfa9ccd7ff566f385ae30ea 30-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add stub Filesystem class and Mount method


# 196403c9abaa7976cc2af2267230208533b5fe61 29-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add NFS4 reply interpreter

Currently supported operations are: ACCESS, GETATTR (partially), GETFH,
LOOKUP and PUTROOTFH.


# d08c284cec641c1aa88bc61985852989a6069a3f 29-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add NFS4 request builder

Currently supports only the following operations: ACCESS, GETATTR, GETFH
LOOKUP and PUTROOTFH.


# b35311f1ba07855a6152bb248b1758567f52e224 25-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add RPC main communication code

RPC::Server represents a server client is connected to.
RPC::RequestManager stores all call that have been sent but no answer was
received so far.
RPC::ServerManager is responsible for reusing connections to the servers
and closing them when no longer needed.


# da59bc46d9a6a09562dca3b916dce0383c97fa97 25-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add stub RPC reply code

RPC::Reply interprets incoming RPC replies. Currently only XID is
read.


# 313da82b9fa72e56ce424852a9dee444bfbf7bfc 25-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add call generation code including authentication

RPC::Call generates a RPC call using provided RPC::Auth objects.
RPC::Auth supports AUTH_NONE and AUTH_SYS authentication protocols.


# 42b2ae1c808df07d3ae33f5c66a744070f9316ce 25-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add XDR encoder and decoder

Base classes XDR::Stream and classes XDR::WriteStream and XDR::ReadStream
are added. They implement encoding and decoding XDR (RFC 4506) streams.
All data types used by RPC and NFS4 are supported.


# e4977f2046fcdaeee40c869a3bce8e391c87b7ad 24-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add network code

Connection class supports sending and receiving RPC data using either
TCP or UDP as a transport protocol.


# 8fe02d0c04e24c9b257d9e966c04b745f5ed254b 24-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Initial commit

Empty file system with only mounting supported.