cthon: added patches for connectathon
patches apply on top of http://www.connectathon.org/nfstests.zip Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
This commit is contained in:
parent
0ad4db4fad
commit
55ff9d855d
11 changed files with 1182 additions and 0 deletions
60
tests/0010-cthon-fixes-for-64-bit-locking.patch
Normal file
60
tests/0010-cthon-fixes-for-64-bit-locking.patch
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
From c8deb58ef9500765aa38fc86747fca0add5d04b1 Mon Sep 17 00:00:00 2001
|
||||
From: Casey Bodley <cbodley@citi.umich.edu>
|
||||
Date: Mon, 11 Oct 2010 15:33:50 -0400
|
||||
Subject: [PATCH 10/11] cthon: fixes for 64-bit locking
|
||||
|
||||
cthon04/lock/tlock.c: fixed initialization of LARGE_INTEGERs, and removed the parts of test() that return EINVAL (our driver should be returning ERROR_INVALID_LOCK_RANGE for those)
|
||||
|
||||
also updated the nfs_lock test program to take 64-bit input for length and offset
|
||||
---
|
||||
lock/tlock.c | 18 ++++++++----------
|
||||
1 files changed, 8 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/lock/tlock.c b/lock/tlock.c
|
||||
index dac3519..f06de6c 100644
|
||||
--- a/lock/tlock.c
|
||||
+++ b/lock/tlock.c
|
||||
@@ -848,9 +848,12 @@ testmunmap()
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
+#define ERROR_INVALID_LOCK_RANGE 0x133 // 307
|
||||
+
|
||||
static int map_lock_error(int num, int sec, int status) {
|
||||
switch (status) {
|
||||
case NO_ERROR: return 0;
|
||||
+ case ERROR_INVALID_LOCK_RANGE: return EINVAL;
|
||||
case ERROR_NOT_LOCKED:
|
||||
case ERROR_LOCK_VIOLATION: return denied_err;
|
||||
default:
|
||||
@@ -870,22 +873,17 @@ int pass; /* expected return code */
|
||||
int fail; /* error vs warning */
|
||||
{
|
||||
int result = PASS;
|
||||
- LARGE_INTEGER off = { offset };
|
||||
- LARGE_INTEGER len = { length };
|
||||
+ ULARGE_INTEGER off;
|
||||
+ ULARGE_INTEGER len;
|
||||
OVERLAPPED overlapped = { 0 };
|
||||
+
|
||||
+ off.QuadPart = offset;
|
||||
+ len.QuadPart = length;
|
||||
overlapped.Offset = off.LowPart;
|
||||
overlapped.OffsetHigh = off.HighPart;
|
||||
|
||||
- if (off.QuadPart + len.QuadPart < 0) {
|
||||
- result = EINVAL;
|
||||
- goto out;
|
||||
- }
|
||||
if (length == 0)
|
||||
len.QuadPart = ULLONG_MAX - offset;
|
||||
- if (len.QuadPart == 0) {
|
||||
- result = EINVAL;
|
||||
- goto out;
|
||||
- }
|
||||
|
||||
switch (func) {
|
||||
case F_LOCK: /* blocking lock */
|
||||
--
|
||||
1.6.4.msysgit.0
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue