History log of /haiku/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp
Revision Date Author Comments
# 3349a731 04-May-2021 Máximo Castañeda <antiswen@yahoo.es>

nfs4: fix gcc2 build

gcc2 preprocessor reads `__func__,` as one token, yielding
dprintf("nfs4: %s()" "whatever" "\n", );
and a parse error for the expansion of ERROR with only one parameter.
Separating the comma gives the result we want.

Change-Id: I5d20e2c06a796b7092b9f23162fa7bfb269318be
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3899
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 0319710e 18-Nov-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

nfs4: Improve tracing when DEBUG. Always show NFS errors

Change-Id: Idd6904258c479dc3d188bf245b1bae0d3849820b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3397
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# afc21e13 20-Feb-2014 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix gIdMapper resource leak

Mounting another nfs4 volume loses reference to the previous idmapper
service. Thanks Stephan for pointing this out.


# bbbb0c4d 29-Oct-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix CID 1108337: Use AutoDeleter to fix leak


# 7ed61504 22-Oct-2013 Murai Takashi <tmurai01@gmail.com>

nfs4: Fix mismatching allocation and deallocation

Fixes CID #1108170.

Signed-off-by: Pawel Dziepak <pdziepak@quarnos.org>


# 2b66a08a 24-Sep-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Ignore superfluous slashes and get proper NFS4 share name


# 1192182c 12-Jun-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix CID #991617: Set cookie file system at its creation


# 3ef8e34c 16-Apr-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: fix few issues related with file caches
* update metadata cache when writing to cache
* do not limit size of a io request
* minor checks in Inode::Write


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


# efc29cc5 21-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: update vnode objects and cached data when rename overrides a file
* this patch also fixes unnecessary cache invalidation when a file is renamed
without changing its parent directory


# 3d064796 20-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Allow customization of DirectoryCache expiration time


# 2723b9eb 18-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix CID 991506: memory leak in case of error


# 8f5358e4 11-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use B_PRI* instead of standard PRI*


# 25909fec 11-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix compiler warning about optionsEnd being not initialized


# 4c64bd93 13-Feb-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix wrong cast in nfs4_rename


# c65f77dc 13-Feb-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Make TRACE format strings 32/64 bit independent


# 266b99b7 12-Feb-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Support callbacks over IPv6


# a0d5a922 04-Feb-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Try connecting to all getaddrinfo() results before giving up


# ce851e2b 16-Jan-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix few Inode::fOpenState related race conditions


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

nfs4: Make request time limit adjustable


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

nfs4: Multiple style fixes


# 345a6593 02-Jan-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Do not create new Inode object when deleting a vnode


# eed5b716 19-Dec-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix problems with reading directory entries
* Inode::ReadDir missed an entry when given buffer was too small
* Each OpenDirCookie now has its own copy of directory snapshot what
would prevent Inode::ReadDir from accessing freed memory when removing
files and reading directory entries simultaneously
* Several minor issues fixed


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

nfs4: Release vnodes when no longer used


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


# 81f2b971 01-Nov-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix race condition between inode creation and removal

If the underlying file system reuses inode numbers it is possible that
an entry of inode with reused id in InodeIdMap will be removed.
This patch should also improve behavior when one of many hard links
is removed.


# b70890b1 31-Oct-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add basic tracing of nfs4 module calls


# 1e67a2cd 31-Oct-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add numerous assertion checks


# bb035526 27-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Do not ignore idmapper initialization errors


# bcb18a9b 31-Oct-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4, dns_resolver: fix numerous style violations


# dee0fd83 16-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Update FileInfo at rename


# 7c6cdb83 16-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix node removal


# 060a4636 16-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Make the client more configurable


# a37a2288 15-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Let GenerateClientID take advantage of PeerAddress methods


# 20d1b02e 09-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add basic support for extended attributes


# 2431c452 09-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Make idmapper initialization lazy


# f7c35cf4 08-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add attribute directory related hooks


# 8ba78bf3 08-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix dir cookie rewinding


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

nfs4: Add asynchronous work queue


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

nfs4: Support delegations of created files


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

nfs4: Do not sync too often if delegation is held


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

nfs4: Move cache management inside Inode class


# 52aaad17 05-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use one open state per inode


# 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


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

nfs4: Revalidate cache before locks


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

nfs4: Use existing write cookie, do not send COMMIT if not necessary


# 36577ed5 26-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use unstable writes and commit before close


# be4499d1 26-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Change write policy from write through to write back


# 0bc98afd 26-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Basic data cache implementation


# 137884e0 11-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Make networking code IP version agnostic


# c3b57e8e 11-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use IPPROTO_* instead of enum Transport


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

nfs4: Rename Filehandle to FileHandle and Filesystem to FileSystem


# 9054c96c 04-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

Move parsing getattrinfo() result out of dns_resolver module


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

nfs4: Add id mapper


# 17c2a485 02-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Do not get_vnode() if Inode::Create() failed


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

nfs4: Add full support for lease migration


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

nfs4: Do not release locks if cookie is NULL


# 7f67d828 27-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add remove_vnode() hook


# b85115dd 27-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add stub fsync() hook


# 7d0b8c97 27-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add support for file locking


# 55899460 27-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add set_flags() hook


# 5cf2ee51 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Remove unused entries from inode number to filehandle map


# abba2fdd 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add write_stat() hook


# 69adfb6d 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add create_dir() hook


# 86d2cab3 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add support for O_APPEND mode


# 636e922e 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix cookie and vnode creation in create() hook


# e36a5442 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add write() hook


# 20bd3ee1 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add create() hook


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

nfs4: Add create_symlink() hook


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

nfs4: Add link() hook


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

nfs4: unlink() and remove_dir() should check node type


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

nfs4: Add unlink() and remove_dir() hooks


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

nfs4: Add rename() hook


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

nfs4: close*() should wake all blocked operations


# 19df56ac 20-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add support for server migration


# 800c2dd2 19-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Parse command line args

Thist commit also makes inet_addr() accessible for the kernel and kernel modules.


# 5fb2be88 16-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Allow opening symbolic links


# 941416ff 16-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add read_fs_info hook


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

nfs4: Add read_symlink() hook


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


# 0792abe0 11-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix timeout handling code


# b0368e77 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Allow open() on directories


# 631d9e98 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add access() hook


# a01e1e99 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: k- variants of socket functions are not really needed


# 60a8140d 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add close() and free_cookie() hooks


# 2f2e57d0 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add read() hook


# 2a292557 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add open() hook


# 96b7b14a 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add get_vnode_name hook


# 87c6b832 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Inodes should know their name and parent's filehandle


# e8845bd5 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add rewind_dir() hook


# 7bfa4fe8 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add lookup() and get_vnode() hooks

get_vnode() needs a way to retrieve filehandle knowing only inode number.
Since NFS4 sever does not provide such services client manages its own mapping
between ino_t and filehandles.


# aefd79e6 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: The unary & operator is not really needed


# 4b48348f 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add read_dir() hook


# 821f13b0 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add open_dir, close_dir and free_dir_cookie hooks


# c1a7ba32 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add unmount() and put_vnode() procedures


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

nfs4: Add basic nfs4_read_stat() procedure

Not all data are retrieved and there is a room for improvement in handling
situations when server does not provide necessary information.


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

nfs4: Implement nfs4_mount() procedure


# 3e945c7f 26-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Make mount() send null nfs4 call


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


# afc21e136779eebee86db8da56464a152b9ea9e0 20-Feb-2014 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix gIdMapper resource leak

Mounting another nfs4 volume loses reference to the previous idmapper
service. Thanks Stephan for pointing this out.


# bbbb0c4d7cc885f908dde396822b0acf596a6b9c 29-Oct-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix CID 1108337: Use AutoDeleter to fix leak


# 7ed61504782586cf0d687c787d93e319be489d5e 22-Oct-2013 Murai Takashi <tmurai01@gmail.com>

nfs4: Fix mismatching allocation and deallocation

Fixes CID #1108170.

Signed-off-by: Pawel Dziepak <pdziepak@quarnos.org>


# 2b66a08acb5ff1e603fc47b0c54fb5cfe8f1066c 24-Sep-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Ignore superfluous slashes and get proper NFS4 share name


# 1192182c891fc8001653472ab0e143c80b24e745 12-Jun-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix CID #991617: Set cookie file system at its creation


# 3ef8e34c0adbe5d9cd72a2dc526a8d4e7340d82d 16-Apr-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: fix few issues related with file caches
* update metadata cache when writing to cache
* do not limit size of a io request
* minor checks in Inode::Write


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


# efc29cc57a620c89cbb0ac0be6dfaf522282441e 21-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: update vnode objects and cached data when rename overrides a file
* this patch also fixes unnecessary cache invalidation when a file is renamed
without changing its parent directory


# 3d064796c7e4765e62811d3d17f94c015d9af85b 20-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Allow customization of DirectoryCache expiration time


# 2723b9eba4016848365fb45f5d2121ecb2d96078 18-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix CID 991506: memory leak in case of error


# 8f5358e4193e726c134cc2726125c076cd4ad201 11-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use B_PRI* instead of standard PRI*


# 25909fec0b37f579d5619f9e13771334f184f370 11-Mar-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix compiler warning about optionsEnd being not initialized


# 4c64bd932c634e7115a88d494de083dca7c9e20d 13-Feb-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix wrong cast in nfs4_rename


# c65f77dc10eed76812e0e605030970c29a8cde34 13-Feb-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Make TRACE format strings 32/64 bit independent


# 266b99b7e921a71c22ac5d444a107abb282bbf36 12-Feb-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Support callbacks over IPv6


# a0d5a922d6440c2d4df51536fab9ef5057e021f5 04-Feb-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Try connecting to all getaddrinfo() results before giving up


# ce851e2bac9dba986b6e4243e4cccd6f4e59380c 16-Jan-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix few Inode::fOpenState related race conditions


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

nfs4: Make request time limit adjustable


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

nfs4: Multiple style fixes


# 345a659337ba627af5d67f2064ce7a2746c28f0c 02-Jan-2013 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Do not create new Inode object when deleting a vnode


# eed5b716d0d47b766659295406c54f910dc1a092 19-Dec-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix problems with reading directory entries
* Inode::ReadDir missed an entry when given buffer was too small
* Each OpenDirCookie now has its own copy of directory snapshot what
would prevent Inode::ReadDir from accessing freed memory when removing
files and reading directory entries simultaneously
* Several minor issues fixed


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

nfs4: Release vnodes when no longer used


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


# 81f2b97177995973754f099b35a0cdb66762508d 01-Nov-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix race condition between inode creation and removal

If the underlying file system reuses inode numbers it is possible that
an entry of inode with reused id in InodeIdMap will be removed.
This patch should also improve behavior when one of many hard links
is removed.


# b70890b1386f973df95454ba605cc8ad5b79c55f 31-Oct-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add basic tracing of nfs4 module calls


# 1e67a2cdd9414d6f699f253161d19d4aa8fe35e6 31-Oct-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add numerous assertion checks


# bb0355263687491aa7abe5a54bfd98e35fc3665d 27-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Do not ignore idmapper initialization errors


# bcb18a9b361caf5ec949023dce39b831709a917d 31-Oct-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4, dns_resolver: fix numerous style violations


# dee0fd8348ec064654517af747c9554c993eed4f 16-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Update FileInfo at rename


# 7c6cdb836049521a65ae47018e15020b1701dc5c 16-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix node removal


# 060a4636e4a286dd70b9cbf335d12ddc10924937 16-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Make the client more configurable


# a37a22884cd3f5b3442b1d88e6a0789f838de224 15-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Let GenerateClientID take advantage of PeerAddress methods


# 20d1b02eefc137b62fac748323e6747c7f9e6ef3 09-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add basic support for extended attributes


# 2431c4521c4e3a2fb15d3440ee10ebc68c081bce 09-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Make idmapper initialization lazy


# f7c35cf464752e44ce966c9a12d61882f5387611 08-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add attribute directory related hooks


# 8ba78bf323c42caf3f72266afb55b617db1be5c5 08-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix dir cookie rewinding


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

nfs4: Add asynchronous work queue


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

nfs4: Support delegations of created files


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

nfs4: Do not sync too often if delegation is held


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

nfs4: Move cache management inside Inode class


# 52aaad172fd93ba9b286d237dd299746e6458e1b 05-Aug-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use one open state per inode


# 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


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

nfs4: Revalidate cache before locks


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

nfs4: Use existing write cookie, do not send COMMIT if not necessary


# 36577ed54ba11c2e9b1a61f66cc2a704e2af7697 26-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use unstable writes and commit before close


# be4499d19e0c76b87912cd497d945374dc84e294 26-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Change write policy from write through to write back


# 0bc98afd433d6b193773d937c06048b4ade01cd6 26-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Basic data cache implementation


# 137884e0d2fa9e53a17fa2b736b4a5c158b7c75f 11-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Make networking code IP version agnostic


# c3b57e8e834b942e3df0b77199b66640e3c3cf67 11-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Use IPPROTO_* instead of enum Transport


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

nfs4: Rename Filehandle to FileHandle and Filesystem to FileSystem


# 9054c96c17401b5ef4259cbba615ca8b8856473c 04-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

Move parsing getattrinfo() result out of dns_resolver module


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

nfs4: Add id mapper


# 17c2a4858524df47bb37136ec3f1320bafe11430 02-Jul-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Do not get_vnode() if Inode::Create() failed


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

nfs4: Add full support for lease migration


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

nfs4: Do not release locks if cookie is NULL


# 7f67d8283e8d34a7ce3ee16d27987dfe00749b7e 27-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add remove_vnode() hook


# b85115ddfd5c10b3e3d9d8dda6ad5b8640fcbbba 27-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add stub fsync() hook


# 7d0b8c97865cb6a2ab1f534305913343de78ac50 27-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add support for file locking


# 55899460db033044fd9cb4a261dc5436e8c0b4f9 27-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add set_flags() hook


# 5cf2ee51b869a4f024dc29846192ae7662326825 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Remove unused entries from inode number to filehandle map


# abba2fddf17a30a2097f7e04c57b67b50f708ece 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add write_stat() hook


# 69adfb6de2fbb3d8a90071beb5576593228dc7b5 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add create_dir() hook


# 86d2cab33f5846228cb51382da46bc7185f7c676 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add support for O_APPEND mode


# 636e922e5c38aab48923a27a7f8d73300b7bda62 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix cookie and vnode creation in create() hook


# e36a54427c52d685efec2862cba812ac46a15ad4 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add write() hook


# 20bd3ee165c505a6105c7ca16b707db2a479ee05 26-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add create() hook


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

nfs4: Add create_symlink() hook


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

nfs4: Add link() hook


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

nfs4: unlink() and remove_dir() should check node type


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

nfs4: Add unlink() and remove_dir() hooks


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

nfs4: Add rename() hook


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

nfs4: close*() should wake all blocked operations


# 19df56ac66b03acd52570ed050113652a5e93606 20-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add support for server migration


# 800c2dd2d3cb7996eaa22908634c046f5214214b 19-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Parse command line args

Thist commit also makes inet_addr() accessible for the kernel and kernel modules.


# 5fb2be8872387f03c7f78e8734322f2b2588978c 16-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Allow opening symbolic links


# 941416ff8b37ee51eb663cb75c4d94e5d668766a 16-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add read_fs_info hook


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

nfs4: Add read_symlink() hook


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


# 0792abe0062dc05163f5873f3753fe74a6e307c6 11-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Fix timeout handling code


# b0368e77c9f23cd6e4c5d5bc4f79618204c5f3d3 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Allow open() on directories


# 631d9e9867f037d35944f4fce87fdfef5f63e4da 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add access() hook


# a01e1e9961b5a7c5f17fa006c68371e2f5f9f09b 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: k- variants of socket functions are not really needed


# 60a8140ded7da888e1ebf0d03ac6c20130b08aeb 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add close() and free_cookie() hooks


# 2f2e57d03557301f838496118884de305d6abde8 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add read() hook


# 2a292557d4bffd34841c3db2ee1095a1a51f0274 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add open() hook


# 96b7b14a96e08e329b6e439752a44df963e7b43c 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add get_vnode_name hook


# 87c6b83293724346b8b2899fb288fd28d200a5da 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Inodes should know their name and parent's filehandle


# e8845bd5b7d8a24c9ba26a38c556222149ad8553 05-Jun-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add rewind_dir() hook


# 7bfa4fe80524316059e722a48b93e4266533f4ad 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add lookup() and get_vnode() hooks

get_vnode() needs a way to retrieve filehandle knowing only inode number.
Since NFS4 sever does not provide such services client manages its own mapping
between ino_t and filehandles.


# aefd79e6a737a9be08ab687c0efa33ca8dad8b4f 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: The unary & operator is not really needed


# 4b48348f9747400f0a2b63544e2806b1e6943215 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add read_dir() hook


# 821f13b0779e068d43bdd380b4c9791a1aec3832 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add open_dir, close_dir and free_dir_cookie hooks


# c1a7ba322d4278cf32ef978573f70a074a7671dc 31-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Add unmount() and put_vnode() procedures


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

nfs4: Add basic nfs4_read_stat() procedure

Not all data are retrieved and there is a room for improvement in handling
situations when server does not provide necessary information.


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

nfs4: Implement nfs4_mount() procedure


# 3e945c7ff0912e7d81874165457eba126d0d673e 26-May-2012 Pawel Dziepak <pdziepak@quarnos.org>

nfs4: Make mount() send null nfs4 call


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