Commit Graph

42705 Commits

Author SHA1 Message Date
Pawel Dziepak
b85115ddfd nfs4: Add stub fsync() hook 2012-06-29 02:15:25 +02:00
Pawel Dziepak
4318f15fa1 nfs4: Check for reace conditions in filehandle recovery 2012-06-29 02:15:25 +02:00
Pawel Dziepak
b75edefd15 nfs4: Add ConnectionStream and ConnectionPacket classes 2012-06-29 02:15:24 +02:00
Pawel Dziepak
0e1fd494e5 nfs4: close() should also wake snoozing threads
When server returns error codes like LOCKED, DEALY, etc the client waits
some time before retrying (unless in O_NONBLOCK mode), close() should wake
snoozing threads.
2012-06-29 02:15:23 +02:00
Pawel Dziepak
f7bf941a8c nfs4: Verify inode number before opening a file 2012-06-29 02:15:22 +02:00
Pawel Dziepak
ef629eaf23 nfs4: Fix LookUp returning wrong error code if file doesn't exist 2012-06-29 02:15:21 +02:00
Pawel Dziepak
7d0b8c9786 nfs4: Add support for file locking 2012-06-29 02:15:20 +02:00
Pawel Dziepak
d764d148b1 Allow file systems to manage file locks
Haiku implements file locking at vfs level. That would not work for remote
and shared file systems, since they need to negotiate locks with peers.
This patch introduces three additional hooks in fs_interface that allow
file system module to take over the management of file locks.
2012-06-29 02:15:19 +02:00
Pawel Dziepak
55899460db nfs4: Add set_flags() hook 2012-06-29 02:15:19 +02:00
Pawel Dziepak
1c97a367c5 nfs4: Add support for O_NONBLOCK mode 2012-06-29 02:15:18 +02:00
Pawel Dziepak
5cf2ee51b8 nfs4: Remove unused entries from inode number to filehandle map 2012-06-29 02:15:17 +02:00
Pawel Dziepak
2f6ae7236d nfs4: Read from st_*tim instead of st_*time 2012-06-29 02:15:16 +02:00
Pawel Dziepak
38a1270e11 nfs4: Wrong filehandle used when creating a file 2012-06-29 02:15:15 +02:00
Pawel Dziepak
abba2fddf1 nfs4: Add write_stat() hook 2012-06-29 02:15:14 +02:00
Pawel Dziepak
684d0a1036 nfs4: Partial handling of NFS4ERR_LEASE_MOVED error 2012-06-29 02:15:13 +02:00
Pawel Dziepak
9737896827 nfs4: Fix removing nodes other than NF4DIR or NF4REG 2012-06-29 02:15:13 +02:00
Pawel Dziepak
69adfb6de2 nfs4: Add create_dir() hook 2012-06-29 02:15:12 +02:00
Pawel Dziepak
e27b9ff742 nfs4: Improve handling errors in NFS replies 2012-06-29 02:15:11 +02:00
Pawel Dziepak
07f2e2d2b8 nfs4: Put all NFS error handling code in one function 2012-06-29 02:15:10 +02:00
Pawel Dziepak
38e721106d nfs4: Add support for O_TRUNC mode 2012-06-29 02:15:09 +02:00
Pawel Dziepak
86d2cab33f nfs4: Add support for O_APPEND mode 2012-06-29 02:15:08 +02:00
Pawel Dziepak
636e922e5c nfs4: Fix cookie and vnode creation in create() hook 2012-06-29 02:15:07 +02:00
Pawel Dziepak
e36a54427c nfs4: Add write() hook 2012-06-29 02:15:07 +02:00
Pawel Dziepak
20bd3ee165 nfs4: Add create() hook 2012-06-29 02:15:06 +02:00
Pawel Dziepak
f5baf2ef9f nfs4: Add create_symlink() hook 2012-06-29 02:15:05 +02:00
Pawel Dziepak
c0de7aca1c nfs4: Add link() hook 2012-06-29 02:15:04 +02:00
Pawel Dziepak
cf511f2446 nfs4: unlink() and remove_dir() should check node type 2012-06-29 02:15:03 +02:00
Pawel Dziepak
6fb3845b38 nfs4: Add unlink() and remove_dir() hooks 2012-06-29 02:15:02 +02:00
Pawel Dziepak
1ec6b0c1f7 nfs4: Add rename() hook 2012-06-29 02:15:01 +02:00
Pawel Dziepak
be4c74ead3 nfs4: close*() should wake all blocked operations 2012-06-29 02:15:01 +02:00
Pawel Dziepak
19df56ac66 nfs4: Add support for server migration 2012-06-29 02:15:00 +02:00
Pawel Dziepak
47c4ae3751 nfs4: Fix ReadDir() bug when skipping inodes 2012-06-29 02:14:59 +02:00
Pawel Dziepak
a90b62049a nfs4: Fix parsing paths that begin with '/' 2012-06-29 02:14:58 +02:00
Pawel Dziepak
963a5e658a nfs4: Forbid accessing multiple NFS4 filesystems from one local mount
Haiku assumes that a pair dev_t:ino_t uniquely identifies a file. That may not be the case if we allow multiple filesystems share one dev_t.
2012-06-29 02:14:57 +02:00
Pawel Dziepak
8b908ae4e8 nfs4: Fix parsing filesystem path in ReadInfo() 2012-06-29 02:14:56 +02:00
Pawel Dziepak
800c2dd2d3 nfs4: Parse command line args
Thist commit also makes inet_addr() accessible for the kernel and kernel modules.
2012-06-29 02:14:55 +02:00
Pawel Dziepak
be46fd1b0f nfs4: Send correct hostname when using AUTH_SYS 2012-06-29 02:14:55 +02:00
Pawel Dziepak
21769ef603 Add dns_resolver module
dns_resolver module provides a means for all kernel mode code to resolve
DNS hostnames.
2012-06-29 02:14:54 +02:00
Pawel Dziepak
5fb2be8872 nfs4: Allow opening symbolic links 2012-06-29 02:14:53 +02:00
Pawel Dziepak
5a451a5405 nfs4: Fix OPEN and CLOSE sequence numbers 2012-06-29 02:14:52 +02:00
Pawel Dziepak
941416ff8b nfs4: Add read_fs_info hook 2012-06-29 02:14:51 +02:00
Pawel Dziepak
c702f887ad nfs4: Add support for volatile filehandles 2012-06-29 02:14:50 +02:00
Pawel Dziepak
d1e6b61e2e nfs4: Let opened files survive server reboot 2012-06-29 02:14:50 +02:00
Pawel Dziepak
8b499ea677 nfs4: Behave correctly if server is in grace period 2012-06-29 02:14:49 +02:00
Pawel Dziepak
b268b6f2fc nfs4: Add rest of NFS4 error codes 2012-06-29 02:14:48 +02:00
Pawel Dziepak
462a54ced8 nfs4: Let ReplyInterpreter provide original NFS4 error codes 2012-06-29 02:14:47 +02:00
Pawel Dziepak
f2da914d39 nfs4: Add read_symlink() hook 2012-06-29 02:14:46 +02:00
Pawel Dziepak
27a291de54 nfs4: Renew all owned and used leases 2012-06-29 02:14:45 +02:00
Pawel Dziepak
6ee3ed0f6f 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.
2012-06-29 02:14:44 +02:00
Pawel Dziepak
96e3dbc2d0 nfs4: Let stat() retrieve access, change, etc dates 2012-06-29 02:14:44 +02:00