42833 Commits

Author SHA1 Message Date
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