pastebin - collaborative debugging tool
nrubsig.kpaste.net RSS


long path fix+misc
Posted by Anonymous on Sat 16th Mar 2024 13:56
raw | new post
modification of post by Anonymous (view diff)

  1. diff --git a/cygwin/README.bintarball.txt b/cygwin/README.bintarball.txt
  2. index 26cc9c3..a5ea187 100644
  3. --- a/cygwin/README.bintarball.txt
  4. +++ b/cygwin/README.bintarball.txt
  5. @@ -62,7 +62,7 @@ NFSv4.1 client and filesystem driver for Windows 10/11
  6.  # 3. Requirements:
  7.  #
  8.  - Windows 10 or Windows 11
  9. -- Cygwin 3.5.0
  10. +- Cygwin 3.5.1 (or 3.6.x-devel)
  11.      - Packages (required):
  12.          cygwin
  13.          cygwin-devel
  14. diff --git a/daemon/lookup.c b/daemon/lookup.c
  15. index e15046a..6023a92 100644
  16. --- a/daemon/lookup.c
  17. +++ b/daemon/lookup.c
  18. @@ -3,6 +3,7 @@
  19.   *
  20.   * Olga Kornievskaia <aglo@umich.edu>
  21.   * Casey Bodley <cbodley@umich.edu>
  22. + * Roland Mainz <roland.mainz@nrubsig.org>
  23.   *
  24.   * This library is free software; you can redistribute it and/or modify it
  25.   * under the terms of the GNU Lesser General Public License as published by
  26. @@ -45,6 +46,7 @@
  27.   * MAX_LOOKUP_COMPONENTS)|), see |max_lookup_components()| below.
  28.   *
  29.   * Linux 5.10.0-22-rt uses |ca_maxoperations==16|
  30. + * Linux 6.6.20-rt25  uses |ca_maxoperations==50|
  31.   * simplenfs/nfs4j    uses |ca_maxoperations==128|
  32.   *
  33.   */
  34. @@ -290,12 +292,16 @@ out:
  35.  static uint32_t max_lookup_components(
  36.      IN const nfs41_session *session)
  37.  {
  38. -#define ROUNDUPDIV(x, y) (((x)+((y)-1))/(y))
  39.      const uint32_t comps = min(
  40.          session->fore_chan_attrs.ca_maxoperations,
  41.          MAX_LOOKUP_COMPONENTS);
  42.  
  43. -    return ROUNDUPDIV(comps-4, 3);
  44. +    /*
  45. +     * Make sure we round this value down, otherwise not all
  46. +     * our requests will fit into the
  47. +     * |session->fore_chan_attrs.ca_maxoperations| limit
  48. +     */
  49. +    return ((comps-4) / 3);
  50.  }
  51.  
  52.  static uint32_t get_component_array(
  53. diff --git a/daemon/nfs41_ops.c b/daemon/nfs41_ops.c
  54. index 5d0bb20..ce2f10b 100644
  55. --- a/daemon/nfs41_ops.c
  56. +++ b/daemon/nfs41_ops.c
  57. @@ -166,6 +166,13 @@ int nfs41_create_session(nfs41_client *clnt, nfs41_session *session, bool_t try_
  58.      reply.csr_fore_chan_attrs = &session->fore_chan_attrs;
  59.      reply.csr_back_chan_attrs = &session->back_chan_attrs;
  60.  
  61. +    DPRINTF(0, ("nfs41_create_session: "
  62. +        "Requested req.csa_fore_chan_attrs."
  63. +        "(ca_maxoperations=%d,ca_maxrequests=%d)\n",
  64. +        (int)req.csa_fore_chan_attrs.ca_maxoperations,
  65. +        (int)req.csa_fore_chan_attrs.ca_maxrequests));
  66. +
  67. +
  68.      status = compound_encode_send_decode(session, &compound, try_recovery);
  69.      if (status)
  70.          goto out;
  71. @@ -173,6 +180,19 @@ int nfs41_create_session(nfs41_client *clnt, nfs41_session *session, bool_t try_
  72.      if (compound_error(status = compound.res.status))
  73.          goto out;
  74.  
  75. +    DPRINTF(0, ("nfs41_create_session: "
  76. +        "Response from server: session->fore_chan_attrs->"
  77. +        "(ca_maxoperations=%d,ca_maxrequests=%d)\n",
  78. +        (int)session->fore_chan_attrs.ca_maxoperations,
  79. +        (int)session->fore_chan_attrs.ca_maxrequests));
  80. +
  81. +    if (session->fore_chan_attrs.ca_maxoperations < 64) {
  82. +        eprintf("WARNING: Server returned ca_maxoperations(=%d) "
  83. +        "< 64, this will lead to bad performance for deeply "
  84. +        "nested dirs\n",
  85. +        session->fore_chan_attrs.ca_maxoperations);
  86. +    }
  87. +
  88.      print_hexbuf(1, (unsigned char *)"session id: ", session->session_id, NFS4_SESSIONID_SIZE);
  89.      // check that csa_sequence is same as csr_sequence
  90.      if (reply.csr_sequence != clnt->seq_id) {

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