Bug #1049
pnfs: A lot of BAD_SESSION, SEQ_MISORDERED, SERVERFAULT
Start date:
2011-05-19
Due date:
% Done:
100%
Estimated time:
Difficulty:
Expert
Tags:
needs-triage
Gerrit CR:
Description
At the Lab: during copy big 500M file to 2 DS a lot of errors see in the tcpdump's file.
NFS4ERR_BAD_SESSION - on SEQUENCE request to DS
NFS4ERR_SEQ_MISORDERED - on SEQUENCE request to DS
NFS4ERR_SERVERFAULT - on WRITE request to DS
NFS4ERR_STALE_CLIENTID - on CREATE_SESSION to DS
NFS4ERR_DELAY - on OPEN request to MDS
Updated by Vitaliy Gusev almost 10 years ago
- Priority changed from Urgent to Low
Affected to gethrestime_sec() under KVM issue.
Issue:
gethrestime_sec returns 0,
gethrestime() returns
.tv_sec == 0
Due to this session, clients become old.
Patch below fixes this situation:
diff -r 6cce99be4e7a usr/src/uts/i86pc/io/todpc_subr.c --- a/usr/src/uts/i86pc/io/todpc_subr.c Wed May 25 21:29:50 2011 +0400 +++ b/usr/src/uts/i86pc/io/todpc_subr.c Thu May 26 06:07:03 2011 +0400 @@ -172,14 +172,14 @@ todpc_get(tod_ops_t *top) int compute_century; static int century_warn = 1; /* only warn once, not each time called */ static int range_warn = 1; + static timestruc_t ts_prev; + ASSERT(MUTEX_HELD(&tod_lock)); if (todpc_rtcget((unsigned char *)&rtc)) { - ts.tv_sec = 0; - ts.tv_nsec = 0; tod_status_set(TOD_GET_FAILED); - return (ts); + return (ts_prev); } /* assume that we wrap the rtc year back to zero at 2000 */ @@ -219,6 +219,7 @@ todpc_get(tod_ops_t *top) ts.tv_sec = tod_to_utc(tod) + ggmtl(); ts.tv_nsec = 0; + ts_prev = ts; return (ts); }
Updated by Alexey Zaytsev over 9 years ago
- Status changed from Resolved to Feedback
The resolved status was premature.
1) The patch seems to be just a workaround.
2) It was not integrated into ilumos.
Updated by Albert Lee over 9 years ago
- Project changed from NFS-4.1 to illumos gate
This affects illumos-gate.