Ronnie Sahlberg
65de83140a
NFSv4: Add support (and tests) for open(O_APPEND)
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-03 20:25:59 +10:00
Ronnie Sahlberg
2ce8890458
NFSv4: Add open(O_SYNC) support
...
Also update close() so we only send a COMMIT if there is still
unstaged data written.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-30 09:44:31 +10:00
Ronnie Sahlberg
42d14779b7
NFSv4: Add support for open(O_TRUNC)
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-30 08:36:18 +10:00
Ronnie Sahlberg
61e071d448
NFSv4: Add support for nfs_[p]write()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-29 19:52:41 +10:00
Ronnie Sahlberg
5c73d788b1
NFSv4: Populate functions should return how many operations they did append.
...
The populate functions will soon start appending varying number of operations.
For examle the case of open(O_TRUNC) where we would append an extra
SETATTR(size=0) at the end of the compound chain.
Thus use the number of ops that the populate function retured for when
we compute the length of the compound chain instead of assuming it is always
a constant.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-29 09:27:35 +10:00
Ronnie Sahlberg
5a78bd5a7a
NFSv4: Update nfs_open() to support symlinks
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-28 19:39:27 +10:00
Ronnie Sahlberg
9f44b157f0
NFSv4: fix compiler warnings
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-27 07:28:23 +10:00
Ronnie Sahlberg
4fa3b4b258
NFSv4: Always send a GETATTR as part of the path lookup
...
Send a GETATTR for the final component in the path lookup so that
we can detect and act on it being a symlink.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-27 07:16:18 +10:00
Ronnie Sahlberg
5c2d989887
NFSv4: Add support for readlink()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-26 14:26:29 +10:00
Ronnie Sahlberg
f3211e9be5
NFSv4 Add support for symlink()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-26 14:26:29 +10:00
Ronnie Sahlberg
dce044ab53
NFSv4: Add support for read() and pread()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-26 14:26:29 +10:00
Ronnie Sahlberg
0d9dd0ee44
NFSv4 Add support for nfs_open() nfs_fstat64() nfs_close()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-26 14:26:29 +10:00
Ronnie Sahlberg
93fbecd7c1
NFSv4 Add support for nfs_rmdir()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-14 07:04:28 +10:00
Ronnie Sahlberg
8a9fceb725
NFSv4: Add support for nfs_mkdir2()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-13 23:04:35 +10:00
Ronnie Sahlberg
3ced39f567
Rework the NFSv4 path lookup framework so it handles symlinks properly.
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-13 18:22:27 +10:00
Ronnie Sahlberg
df94ae931a
pdu->timeout needs to be uint64_t
...
pdu->timeout is the timeout for for the pdu using the unix epoch but
expressed in ms, not seconds.
As such it must be 64 bit as on 32 bit we would have already wrapped the
timer.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 17:08:17 +10:00
Ronnie Sahlberg
419e196979
rpc->timeout does not need to be 64 bit
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 16:46:24 +10:00
Ronnie Sahlberg
dc9669abd5
Fix compiler warnings about cast from char* -> uint32_t*
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 16:33:55 +10:00
Ronnie Sahlberg
8df917633d
TESTS: Tweak timeout test settings
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 15:00:23 +10:00
Ronnie Sahlberg
5a6865c7ab
Change the paths for the nfs includes from libnfs-private.h
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 14:34:29 +10:00
Ronnie Sahlberg
5159b76e00
NFSv4: add support for nfs_lstat64()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 13:46:28 +10:00
Ronnie Sahlberg
0d95058e4e
TESTS: Add tests for nfs_lstat64()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 13:38:32 +10:00
Ronnie Sahlberg
546c9455c7
Don't use random()/srandom()
...
We can create a initial verifier that is good enough by just using
the current time and the pid.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 12:58:31 +10:00
Ronnie Sahlberg
825d8c2aa3
WIN32: Update the project file with nfs_v4.c (and the renamed nfs_v3.c)
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 10:04:22 +10:00
Ronnie Sahlberg
4cb34e2c9a
Merge branch 'nfsv4'
2017-07-08 09:58:11 +10:00
Ronnie Sahlberg
fc677be6a3
Bump the pdu timeout by 1000ms when we do not have clock_gettime()
...
If we fallback to time() we have 1 second granularity of our timestamps.
Thus we need to bump the pdu timestamp we set by this granularity or
the timeout will trigger too early.
For a 1s timeout, this means that we now will trigger the timeout between
1.0 - 2.0 seconds instead of the previous 0.0 - 1.0 seconds.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 09:55:14 +10:00
Chris Richards
fb1efbe51c
Increased resolution of PDU timeout from seconds to milliseconds
2017-07-08 09:47:51 +10:00
Ronnie Sahlberg
e27453b4a9
Make valgrind happy for libnfs_zdr_bytes
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 07:56:23 +10:00
Ronnie Sahlberg
2b764fa926
NFSv4: Add support for nfs_stat64()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 07:41:11 +10:00
Ronnie Sahlberg
56194deeee
NFS4: Add support to nfs_mount()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-06 10:04:17 +10:00
Ronnie Sahlberg
70197d5ab8
TETS: rename the tests
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-04 08:43:55 +10:00
Ronnie Sahlberg
4ed461ffee
TESTS Add tests for nfs_open()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-04 08:18:13 +10:00
Ronnie Sahlberg
2762897585
Typos
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-04 07:00:30 +10:00
Ronnie Sahlberg
673860b1bf
Reformat socket.c
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-03 11:31:29 +10:00
Ronnie Sahlberg
c9e546ba3c
Reformat libnfs.h
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-03 11:07:58 +10:00
Ronnie Sahlberg
6144c01732
TESTS: Add path and valgrind leak tests for nfs_fstat64()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-03 10:27:03 +10:00
Ronnie Sahlberg
422713e701
TESTS: Add path adn valgrind tests for nfs_stat64()
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-03 10:10:46 +10:00
Ronnie Sahlberg
abf2f7fc70
TESTS: Split the leak checks tests out based on function
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-03 07:39:50 +10:00
Ronnie Sahlberg
6ea6002e08
Fix nfs_creat() so it works with local directories and add tests
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-03 07:01:07 +10:00
Ronnie Sahlberg
9fdc774bf3
TESTS: add tests for mknod
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-02 12:28:06 +10:00
Ronnie Sahlberg
aff3099f00
TEST: add tests for nfs_link
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-02 10:42:19 +10:00
Ronnie Sahlberg
c6ac1b5a14
Make nfs_unlink work for local paths and add tests
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-02 09:31:17 +10:00
Ronnie Sahlberg
e1a2f9f5e7
Allow mkdir/rmdir to work for the local directory and add tests
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-02 08:52:36 +10:00
Ronnie Sahlberg
0c5732eb26
Fix SEGV in rename error paths and add tests
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-02 07:48:56 +10:00
Ronnie Sahlberg
903021ed59
TESTS: Tests and fixes for nfs_rename
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-01 17:10:23 +10:00
Ronnie Sahlberg
ea94d4e3a6
nfs_symlink: Fix it so we can create symlinks in the current directory
...
Fix a bug in hte symlink code that required that linkname contained at least one
path component and thus prevented us from creating symlinks in the current
directory.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-01 10:19:00 +10:00
Ronnie Sahlberg
8fa13b3a90
TESTS: improve softlink tests and validate the links are visible locally
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-01 09:21:57 +10:00
Ronnie Sahlberg
ad6f95d9f9
More reformatting of libnfs-raw.h
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-01 09:07:28 +10:00
Ronnie Sahlberg
e1f01238d5
README: clarify status of nfsv4 support. I.e. not yet functional.
...
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-01 08:44:25 +10:00
Ronnie Sahlberg
9776ca3a95
Merge branch 'nfsv4'
2017-07-01 08:43:23 +10:00