Commit graph

301 commits

Author SHA1 Message Date
Olga Kornievskaia
ed2ec18d2d recovery xdr for free_stateid and test_stateid 2011-11-02 11:58:19 -04:00
Casey Bodley
7efeb31a16 pnfs: send GETATTR after FILE_SYNC ds writes
in the case of ds writes returning FILE_SYNC, we don't need to send a COMMIT or LAYOUTCOMMIT to the mds.  COMMIT and LAYOUTCOMMIT, however, are the places where we do GETATTR(size) to update the attribute cache.  so we must add a separate call to GETATTR to accomplish this after ds writes return FILE_SYNC

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-10-25 11:45:03 -04:00
Casey Bodley
1f7e560a9a pnfs: fix for short write on ds error
Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-10-25 11:44:53 -04:00
Casey Bodley
03e810ce83 write: use FILE_SYNC for small writes
small mds writes were using DATA_SYNC4 and were not followed by COMMITs, so there was no guarantee of an updated file size before returning success

use FILE_SYNC4 for these small writes, and send COMMITs for both UNSTABLE4 and DATA_SYNC4

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-10-25 11:44:46 -04:00
Olga Kornievskaia
861941944f [bakeathon] [acl] fixing inheritance flags
windows inherite directory flag was translated to file inherite flag

cosmetic: print ace type
2011-10-24 12:09:49 -04:00
Olga Kornievskaia
7485d53f64 [bakeathon] server compare logic
to determine if the server is the same don't rely on clientids returned
by the server
2011-10-24 11:54:19 -04:00
Olga Kornievskaia
ac9e621c44 [bakeathon] [session] fixing seq_id in recovery
when we are resending a create_session op we need to get possibly
updated initial sequence number from the client data structure.
2011-10-24 11:42:54 -04:00
Casey Bodley
fd870e6ce9 fix warning on ZeroMemory
Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-10-12 15:14:25 -04:00
Olga Kornievskaia
4c52473527 hooking up rsize-wsize mount options
after parsing read and write rpc size from the mount command,
add the values to mount upcall, then pass these values when creating
a CLIENT structure.
2011-10-11 16:03:59 -04:00
Casey Bodley
5dd3ef1e8c limit retries on WRITE/COMMIT verifier mismatch
Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-10-07 14:54:18 -04:00
Casey Bodley
f435606a16 check write verifiers on COMMIT
we were previously only verifying that the server didn't reboot between WRITEs.  COMMIT returns a verifier that needs to be checked as well

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-10-07 14:53:59 -04:00
Olga Kornievskaia
fc6ac77f28 including useridentity when creating clientowner 2011-09-30 16:36:30 -04:00
Olga Kornievskaia
c90811be75 dont use named events or mutexs
in case of multiple sessions (in multiuser environment)
we can't create event with the same name.
2011-09-30 12:41:54 -04:00
Olga Kornievskaia
96e334be8c [cosmetic] expand on getdomainname error message 2011-09-29 18:46:55 -04:00
Olga Kornievskaia
436df23cba making downcall downcall buffer static
now that readdir doesn't require memory allocation, we can use
static memory for inbuf
2011-09-27 14:38:16 -04:00
Olga Kornievskaia
27030b1764 removing copies from readdir path 2011-09-27 12:21:26 -04:00
Olga Kornievskaia
7e52f53097 [acls] removing unneeded safety checks 2011-09-23 12:12:45 -04:00
Olga Kornievskaia
6eea9faa2e first draft of named attributes 2011-09-22 14:56:11 -04:00
Olga Kornievskaia
1c5935865b [setattr] uses memory out upcall buffer 2011-09-16 17:05:57 -04:00
Casey Bodley
3a115a39fa hardcode value of filetime epoch
avoid unnecessary calls to SystemTimeToFileTime() in get_file_epoch() by hardcoding the FILETIME value of jan_1_1970

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-09-15 17:24:27 -04:00
Casey Bodley
5880a8bb1d deleg: support for CB_GETATTR
on CB_GETATTR, search for a delegation with the given filehandle.  if found, use its fileid to get its cached attributes.  when encoding the response, only include change and size attributes

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-09-15 13:22:14 -04:00
Olga Kornievskaia
0184804498 [acl] setacl uses memory out of upcall buffer 2011-09-07 15:07:23 -04:00
Olga Kornievskaia
756f92120c [acl] using static memory for main getacl structure 2011-09-07 13:04:32 -04:00
Casey Bodley
27fa6e93be namecache: fix for counting of delegations
the out_err_deleg: case of nfs41_name_cache_insert() was forgetting to increment cache->delegations, leading to a decrement past 0.  once that happens, the cache stops accepting delegations because it's comparing cache->max_delegations against UINT_MAX

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-09-06 17:58:23 -04:00
Olga Kornievskaia
f1311b1108 [pnfs] tag ds commits with ds 2011-09-06 17:57:55 -04:00
Casey Bodley
6872152317 pnfs: track last_offset for layoutcommit
iozone tests were failing intermittently against emc-2 due to out-of-order LAYOUTCOMMITs that both specified new_last_offset

nfs41_open_state now maintains a cached value of the last_offset, and avoids sending it with LAYOUTCOMMIT unless the new last_offset is greater than the cached offset.  this cached value is initialized on open/delegation, and updated on setattr for size

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-09-06 17:55:30 -04:00
Casey Bodley
93a907082c pnfs: fix commit-to-ds for dense layouts
Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-09-06 17:55:21 -04:00
Casey Bodley
641d9cf14b revert patch: threading by io unit instead of stripe
sorry, earlier Casey, but the patch 'threading by io unit instead of stripe' from 6/20/2010 was nuts!  with PNFS_THREAD_BY_SERVER disabled, we definitely -don't- want to create a separate thread for each io unit (each READ/WRITE request to a ds).  we just want the one per stripe, as the intended alternative to PNFS_THREAD_BY_SERVER

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-09-06 17:55:14 -04:00
unknown
c5878eb662 Merge branch 'master' of ssh://screamer.citi.umich.edu/home/projects/ms-nfs41-client-dev 2011-08-26 16:31:24 -04:00
Olga Kornievskaia
971762498b fixing null pointer deref in setowner/group 2011-08-26 16:27:19 -04:00
Casey Bodley
6c3bb06eca callback: fix for nfs41_callback_session_init()
Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-08-26 15:03:25 -04:00
Olga Kornievskaia
fa09329167 fixing compile warning in upcall.c 2011-08-26 13:54:54 -04:00
Casey Bodley
d107131f78 lock: fix for upcall.status on cancel_lock()
cancel_lock() can't rely on checking upcall.status, because a handle_lock() success could be overwritten by upcall_marshall() or failure to allocate the upcall reply buffer.  added new flag lock_upcall_args.acquired for this purpose

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-08-26 13:44:32 -04:00
Casey Bodley
d08d3774fd lock: allocate lock state before LOCK, fail on error
now that cancel_lock() and handle_unlock() depend on finding lock state in the open, the comment /* ignore errors from open_lock_add(); they just mean we won't be able to recover the lock after reboot */ no longer applies.  allocate the lock state at the top of handle_lock(), so we can bail immediately on failure

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-08-26 13:43:41 -04:00
Casey Bodley
ead5bc78a2 namecache: cleanup name_cache_entry_update()
added goto out on attr_cache_find_or_create() failure to avoid calling name_cache_entry_updated()

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-08-26 13:06:01 -04:00
Casey Bodley
a4b39031b9 namecache: cleanup nfs41_name_cache_insert()
removed unused variable 'grandparent'
factored out the call to name_cache_entry_update() from root/non-root paths

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-08-26 13:05:49 -04:00
Casey Bodley
af80ded902 namecache: check for empty list before scavenging
Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-08-26 13:05:38 -04:00
Olga Kornievskaia
74bb88fac6 [cosmetic] formatting changes, removed unused defines in lookup.c 2011-08-26 12:27:21 -04:00
Olga Kornievskaia
b01b340162 [cosmetic] format and comment changes to namespace.c 2011-08-26 10:46:37 -04:00
Olga Kornievskaia
f45273e407 minor changes to nfs41_compound.c 2011-08-26 09:59:35 -04:00
Olga Kornievskaia
f61f55c660 minor fixes for nfs41_rpc.c 2011-08-25 16:00:37 -04:00
Olga Kornievskaia
a4e3d4d121 minor changes to nfs41_session.c 2011-08-25 15:21:11 -04:00
Olga Kornievskaia
14a6706039 [cosmetic] formatting changes to nfs41_superblock.c 2011-08-25 15:06:48 -04:00
Olga Kornievskaia
328b175cae [cosmetic] formatting changes to open.c 2011-08-25 14:55:32 -04:00
Olga Kornievskaia
74147edb93 [cosmetic] formating changes to pnfs_device.c 2011-08-25 14:32:55 -04:00
Olga Kornievskaia
e7c540464b simplifying argument management in io path 2011-08-25 14:08:45 -04:00
Casey Bodley
6c555e028b namecache: prefer to evict child entries over parents
renamed name_cache_entry_refresh() to name_cache_entry_updated().  this function resets the entry's expiration timer.  new function name_cache_entry_accessed() deals with moving the entry to the end of exp_entries to prevent eviction

name_cache_entry_accessed() now does the same for its parents as well.  cache consistency of the parents is maintained because their expiration timers are unchanged.  by 'refreshing' the parents of each name cache entry inserted, the eviction policy will always prefer child nodes (which are far less costly to evict)

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-08-25 14:04:54 -04:00
Casey Bodley
0d86c68138 namecache: delegation-related fixes
open_update_cache() wasn't retrying insert after the open_delegation_return() error case
nfs41_name_cache_delegreturn() needs a check for if (attributes->delegated) to avoid an extra deref when the call to nfs41_name_cache_insert() failed
added a TODO comment to nfs41_client_delegation_return_lru() for improvements to the naive algorithm

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2011-08-25 14:04:46 -04:00
Olga Kornievskaia
48fa809fc5 formating changes to pnfs_layout.c 2011-08-25 13:07:12 -04:00
Olga Kornievskaia
0e287a87be simplifying logic in handle_readdir 2011-08-25 13:07:00 -04:00