Pawel Dziepak
8837efd025
nfs4: FileSystem may be destroyed before setting RPCServer private data
2013-01-02 16:40:23 +01:00
Pawel Dziepak
68e64c7ab0
nfs4: Expect file system root path to be NULL
2013-01-02 16:26:57 +01:00
Pawel Dziepak
fee08ed6ad
nfs4: Fix typo: NFS4ERR_LOCKS_HELD instead of NFS4ERR_LOCK_HELD
2013-01-02 16:20:06 +01:00
Pawel Dziepak
aa5a8cb346
nfs4: Add assertions for unexpected error codes
...
There are some NFS4 error codes we should not get if the client is operating
correctly.
CLID_INUSE may be caused only by incorrectly generated SETCLIENTID request.
NOFILEHANDLE, RESTOREFH and OP_ILLEGAL indicate that the client has sent
an incorrectly build request.
BAD_STATEID and BAD_SEQID indicate a bug in handling {open,lock}_owners.
LOCK_HELD happens when the client incorrectly cleans up after accessing a file.
2012-12-24 20:27:07 +01:00
Pawel Dziepak
eed5b716d0
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
2012-12-19 08:12:39 +01:00
Pawel Dziepak
aec9dfc921
nfs4: Release vnodes when no longer used
2012-12-04 01:35:00 +01:00
Pawel Dziepak
83444c2321
nfs4: Complete outstanding AIO requests before releasing open state
2012-12-03 22:47:45 +01:00
Pawel Dziepak
b352cbf6ca
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.
2012-12-03 22:47:18 +01:00
François Revol
fa5d300d6b
nfs4: Fix timespec attribute allocation size
...
* copying the time attributes was fixed to copy the whole
st_?tim timespec struct but the allocation size was still only
that of st_?time subfield, which is only a time_t.
Signed-off-by: François Revol <revol@free.fr>
Signed-off-by: Pawel Dziepak <pdziepak@quarnos.org>
2012-11-03 20:40:55 +01:00
Pawel Dziepak
2f44d34e5e
nfs4: Reset object_wait_info.events in each iteration
2012-11-02 16:14:07 +01:00
Pawel Dziepak
81f2b97177
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.
2012-11-01 18:34:26 +01:00
Pawel Dziepak
b70890b138
nfs4: Add basic tracing of nfs4 module calls
2012-11-01 17:42:04 +01:00
Pawel Dziepak
1e67a2cdd9
nfs4: Add numerous assertion checks
2012-11-01 00:17:34 +01:00
Pawel Dziepak
bb03552636
nfs4: Do not ignore idmapper initialization errors
2012-10-31 19:06:51 +01:00
Pawel Dziepak
a4cdd6be5f
dns_resolver: Separate getaddrinfo() and reply serialization code
2012-10-31 18:57:17 +01:00
Pawel Dziepak
bcb18a9b36
nfs4, dns_resolver: fix numerous style violations
2012-10-31 16:17:22 +01:00
Pawel Dziepak
cae470f922
nfs4: Fix some cache revalidator problems
2012-09-14 19:00:30 +02:00
Pawel Dziepak
e422d059c8
nfs4: Properly handle NFS4ERR_DELAY during node rename
2012-08-17 03:32:57 +02:00
Pawel Dziepak
dee0fd8348
nfs4: Update FileInfo at rename
2012-08-17 03:22:26 +02:00
Pawel Dziepak
7c6cdb8360
nfs4: Fix node removal
2012-08-17 02:51:20 +02:00
Pawel Dziepak
8568341ae6
nfs4: Fix bugs when metadata cache is disabled
2012-08-17 01:28:48 +02:00
Pawel Dziepak
da950cb2ef
nfs4: Fix several problems with emulated attributes
2012-08-17 01:14:30 +02:00
Pawel Dziepak
e8c12d9410
nfs4: Fix file handle recovery
2012-08-16 21:11:56 +02:00
Pawel Dziepak
060a4636e4
nfs4: Make the client more configurable
2012-08-16 19:59:50 +02:00
Pawel Dziepak
870528b799
nfs4: Fix gcc4 warnings
2012-08-16 03:41:29 +02:00
Pawel Dziepak
a15e8fcfbe
nfs4: Check for semaphore creation errors in ConnectionBase classes
2012-08-16 03:06:36 +02:00
Pawel Dziepak
a37a22884c
nfs4: Let GenerateClientID take advantage of PeerAddress methods
2012-08-16 02:52:15 +02:00
Pawel Dziepak
376eef4a9b
nfs4: Add node to inode to file handle map before notifying
2012-08-16 02:24:53 +02:00
Pawel Dziepak
cd2c1203d3
dns_resolver: Fix addrinfo entries relocation
2012-08-16 02:01:34 +02:00
Pawel Dziepak
45cd64efd9
nfs4: Fix amount of data written when using AIO
2012-08-16 01:30:24 +02:00
Pawel Dziepak
c0344ea198
nfs4: Get correct change value for attribute directories
2012-08-15 04:22:18 +02:00
Pawel Dziepak
70472e11d3
nfs4: Add basic emulation of named attributes
2012-08-15 04:11:25 +02:00
Pawel Dziepak
ff4d16ded4
nfs4: Use reserved port if possible
2012-08-15 01:22:35 +02:00
Pawel Dziepak
a5ae9b4752
nfs4: Do not repeat OPENATTR requests if not supported
2012-08-15 01:22:28 +02:00
Pawel Dziepak
6713e36b1d
nfs4: Setting owner and owner group at creation is not needed
2012-08-14 04:26:28 +02:00
Pawel Dziepak
b6d5fa9204
nfs4: Make sure that request are properly sequenced
2012-08-14 04:06:38 +02:00
Pawel Dziepak
7f504091ec
nfs4: Fix directory cache revalidation when cache invalid
2012-08-10 02:56:44 +02:00
Pawel Dziepak
b1fd656d45
nfs4: Fix server reboot recovery
2012-08-10 02:34:41 +02:00
Pawel Dziepak
0e0d53c799
nfs4: Fill struct stat st_blksize and st_blocks fields
2012-08-10 00:18:37 +02:00
Pawel Dziepak
1fdcaccf17
AVLTreeMap::MakeEmpty should set fTree.fRoot to NULL
2012-08-10 00:01:15 +02:00
Pawel Dziepak
ad5adda8e7
nfs4: Fix assignment to temporary
2012-08-09 23:57:31 +02:00
Pawel Dziepak
775a18c155
nfs4: Fix WriteState when state == NULL
2012-08-09 23:54:22 +02:00
Pawel Dziepak
20d1b02eef
nfs4: Add basic support for extended attributes
2012-08-09 23:39:56 +02:00
Pawel Dziepak
29fb3a4af2
nfs4: Fix receiving from stream transport protocols
2012-08-09 20:46:45 +02:00
Pawel Dziepak
2314d073af
nfs4: Inode::GetDirSnapshot should not require OpenDirCookie
2012-08-09 19:24:32 +02:00
Pawel Dziepak
8afd81bae2
nfs4: Fix mounting server's root directory
2012-08-09 18:09:56 +02:00
Pawel Dziepak
2431c4521c
nfs4: Make idmapper initialization lazy
2012-08-09 17:18:41 +02:00
Pawel Dziepak
f7c35cf464
nfs4: Add attribute directory related hooks
2012-08-09 02:37:04 +02:00
Pawel Dziepak
8ba78bf323
nfs4: Fix dir cookie rewinding
2012-08-09 01:34:56 +02:00
Pawel Dziepak
3ae5e813c4
nfs4: Implement node monitoring
2012-08-08 03:48:35 +02:00