pastebin - collaborative debugging tool
nrubsig.kpaste.net RSS

Difference between
modified post 4473f846f by Anonymous on Sat 16th Mar 2024 13:56
original post 5400583a by Anonymous on Sat 16th Mar 2024 13:13
Download diff
Show old version | new version | both versions

    
11
diff --git a/cygwin/README.bintarball.txt b/cygwin/README.bintarball.txt
22
index 26cc9c3..a5ea187 100644
33
--- a/cygwin/README.bintarball.txt
44
+++ b/cygwin/README.bintarball.txt
55
@@ -62,7 +62,7 @@ NFSv4.1 client and filesystem driver for Windows 10/11
66
 # 3. Requirements:
77
 #
88
 - Windows 10 or Windows 11
99
-- Cygwin 3.5.0
1010
+- Cygwin 3.5.1 (or 3.6.x-devel)
1111
     - Packages (required):
1212
         cygwin
1313
         cygwin-devel
1414
diff --git a/daemon/lookup.c b/daemon/lookup.c
15-
index e15046a..044efc0 100644
15+
index e15046a..6023a92 100644
1616
--- a/daemon/lookup.c
1717
+++ b/daemon/lookup.c
18-
@@ -290,12 +290,15 @@ out:
18+
@@ -3,6 +3,7 @@
19-
 static uint32_t max_lookup_components(
19+
  *
20-
     IN const nfs41_session *session)
20+
  * Olga Kornievskaia <aglo@umich.edu>
21-
 {
21+
  * Casey Bodley <cbodley@umich.edu>
22-
-#define ROUNDUPDIV(x, y) (((x)+((y)-1))/(y))
22+
+ * Roland Mainz <roland.mainz@nrubsig.org>
23-
     const uint32_t comps = min(
23+
  *
24-
         session->fore_chan_attrs.ca_maxoperations,
24+
  * This library is free software; you can redistribute it and/or modify it
25-
         MAX_LOOKUP_COMPONENTS);
25+
  * under the terms of the GNU Lesser General Public License as published by
26-
26+
@@ -45,6 +46,7 @@
27-
-    return ROUNDUPDIV(comps-4, 3);
27+
  * MAX_LOOKUP_COMPONENTS)|), see |max_lookup_components()| below.
28-
+    /*
28+
  *
29-
+     * Make sure we round this value down, otherwise the NFS server
29+
  * Linux 5.10.0-22-rt uses |ca_maxoperations==16|
30-
+     * will not send all requests back
30+
+ * Linux 6.6.20-rt25  uses |ca_maxoperations==50|
31-
+     */
31+
  * simplenfs/nfs4j    uses |ca_maxoperations==128|
32-
+    return ((comps-4) / 3);
32+
  *
33-
 }
33+
  */
34+
@@ -290,12 +292,16 @@ out:
3442
43+
-    return ROUNDUPDIV(comps-4, 3);
3552
 static uint32_t get_component_array(
3653
diff --git a/daemon/nfs41_ops.c b/daemon/nfs41_ops.c
37-
index 5d0bb20..1fc0c57 100644
54+
index 5d0bb20..ce2f10b 100644
3855
--- a/daemon/nfs41_ops.c
3956
+++ b/daemon/nfs41_ops.c
4057
@@ -166,6 +166,13 @@ int nfs41_create_session(nfs41_client *clnt, nfs41_session *session, bool_t try_
4158
     reply.csr_fore_chan_attrs = &session->fore_chan_attrs;
4259
     reply.csr_back_chan_attrs = &session->back_chan_attrs;
4360
4461
+    DPRINTF(0, ("nfs41_create_session: "
4562
+        "Requested req.csa_fore_chan_attrs."
4663
+        "(ca_maxoperations=%d,ca_maxrequests=%d)\n",
4764
+        (int)req.csa_fore_chan_attrs.ca_maxoperations,
4865
+        (int)req.csa_fore_chan_attrs.ca_maxrequests));
4966
+
5067
+
5168
     status = compound_encode_send_decode(session, &compound, try_recovery);
5269
     if (status)
5370
         goto out;
54-
@@ -173,6 +180,18 @@ int nfs41_create_session(nfs41_client *clnt, nfs41_session *session, bool_t try_
71+
@@ -173,6 +180,19 @@ int nfs41_create_session(nfs41_client *clnt, nfs41_session *session, bool_t try_
5572
     if (compound_error(status = compound.res.status))
5673
         goto out;
5774
5875
+    DPRINTF(0, ("nfs41_create_session: "
5976
+        "Response from server: session->fore_chan_attrs->"
6077
+        "(ca_maxoperations=%d,ca_maxrequests=%d)\n",
6178
+        (int)session->fore_chan_attrs.ca_maxoperations,
6279
+        (int)session->fore_chan_attrs.ca_maxrequests));
6380
+
6481
+    if (session->fore_chan_attrs.ca_maxoperations < 64) {
65-
+        eprintf("WARNING: Server returned ca_maxoperations(=%d)"
82+
+        eprintf("WARNING: Server returned ca_maxoperations(=%d) "
66-
+        " < 64, this will lead to bad performance\n",
83+
+        "< 64, this will lead to bad performance for deeply "
84+
+        "nested dirs\n",
6785
+        session->fore_chan_attrs.ca_maxoperations);
6886
+    }
6987
+
7088
     print_hexbuf(1, (unsigned char *)"session id: ", session->session_id, NFS4_SESSIONID_SIZE);
7189
     // check that csa_sequence is same as csr_sequence
7290
     if (reply.csr_sequence != clnt->seq_id) {
7391

Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:

To highlight particular lines, prefix each line with {%HIGHLIGHT}




All content is user-submitted.
The administrators of this site (kpaste.net) are not responsible for their content.
Abuse reports should be emailed to us at