- diff --git a/cygwin/README.bintarball.txt b/cygwin/README.bintarball.txt
- index 26cc9c3..a5ea187 100644
- --- a/cygwin/README.bintarball.txt
- +++ b/cygwin/README.bintarball.txt
- @@ -62,7 +62,7 @@ NFSv4.1 client and filesystem driver for Windows 10/11
- # 3. Requirements:
- #
- - Windows 10 or Windows 11
- -- Cygwin 3.5.0
- +- Cygwin 3.5.1 (or 3.6.x-devel)
- - Packages (required):
- cygwin
- cygwin-devel
- diff --git a/daemon/lookup.c b/daemon/lookup.c
- index e15046a..044efc0 100644
- --- a/daemon/lookup.c
- +++ b/daemon/lookup.c
- @@ -290,12 +290,15 @@ out:
- static uint32_t max_lookup_components(
- IN const nfs41_session *session)
- {
- -#define ROUNDUPDIV(x, y) (((x)+((y)-1))/(y))
- const uint32_t comps = min(
- session->fore_chan_attrs.ca_maxoperations,
- MAX_LOOKUP_COMPONENTS);
- - return ROUNDUPDIV(comps-4, 3);
- + /*
- + * Make sure we round this value down, otherwise the NFS server
- + * will not send all requests back
- + */
- + return ((comps-4) / 3);
- }
- static uint32_t get_component_array(
- diff --git a/daemon/nfs41_ops.c b/daemon/nfs41_ops.c
- index 5d0bb20..1fc0c57 100644
- --- a/daemon/nfs41_ops.c
- +++ b/daemon/nfs41_ops.c
- @@ -166,6 +166,13 @@ int nfs41_create_session(nfs41_client *clnt, nfs41_session *session, bool_t try_
- reply.csr_fore_chan_attrs = &session->fore_chan_attrs;
- reply.csr_back_chan_attrs = &session->back_chan_attrs;
- + DPRINTF(0, ("nfs41_create_session: "
- + "Requested req.csa_fore_chan_attrs."
- + "(ca_maxoperations=%d,ca_maxrequests=%d)\n",
- + (int)req.csa_fore_chan_attrs.ca_maxoperations,
- + (int)req.csa_fore_chan_attrs.ca_maxrequests));
- +
- +
- status = compound_encode_send_decode(session, &compound, try_recovery);
- if (status)
- goto out;
- @@ -173,6 +180,18 @@ int nfs41_create_session(nfs41_client *clnt, nfs41_session *session, bool_t try_
- if (compound_error(status = compound.res.status))
- goto out;
- + DPRINTF(0, ("nfs41_create_session: "
- + "Response from server: session->fore_chan_attrs->"
- + "(ca_maxoperations=%d,ca_maxrequests=%d)\n",
- + (int)session->fore_chan_attrs.ca_maxoperations,
- + (int)session->fore_chan_attrs.ca_maxrequests));
- +
- + if (session->fore_chan_attrs.ca_maxoperations < 64) {
- + eprintf("WARNING: Server returned ca_maxoperations(=%d)"
- + " < 64, this will lead to bad performance\n",
- + session->fore_chan_attrs.ca_maxoperations);
- + }
- +
- print_hexbuf(1, (unsigned char *)"session id: ", session->session_id, NFS4_SESSIONID_SIZE);
- // check that csa_sequence is same as csr_sequence
- if (reply.csr_sequence != clnt->seq_id) {
long path fix+misc
Posted by Anonymous on Sat 16th Mar 2024 13:13
raw | new post
view followups (newest first): long path fix+misc by Anonymous
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.