pastebin - collaborative debugging tool
rovema.kpaste.net RSS


msnfs41client: Patches for tests, cleanup+misc, 2025-02-28
Posted by Anonymous on Fri 28th Feb 2025 17:52
raw | new post

  1. From f1a72eb40fbd9fd8c39d00a9cb75f6d5767efe35 Mon Sep 17 00:00:00 2001
  2. From: Roland Mainz <roland.mainz@nrubsig.org>
  3. Date: Fri, 28 Feb 2025 10:15:57 +0100
  4. Subject: [PATCH 1/5] tests: nfsbuildtest.ksh93 should install always in
  5.  builddir/install_root
  6.  
  7. nfsbuildtest.ksh93 should install always in builddir/install_root,
  8. otherwise we affect the system installation.
  9.  
  10. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  11. ---
  12. tests/nfsbuildtest/nfsbuildtest.ksh93 | 10 +++++-----
  13.  1 file changed, 5 insertions(+), 5 deletions(-)
  14.  
  15. diff --git a/tests/nfsbuildtest/nfsbuildtest.ksh93 b/tests/nfsbuildtest/nfsbuildtest.ksh93
  16. index 3f3e653..92d0cf7 100644
  17. --- a/tests/nfsbuildtest/nfsbuildtest.ksh93
  18. +++ b/tests/nfsbuildtest/nfsbuildtest.ksh93
  19. @@ -174,7 +174,7 @@ function gcc_build
  20.                 set -o xtrace
  21.                 time ksh93 -c 'export SHELL=/bin/ksh93 ; (yes | make --load-average 32 -j12 all)'
  22.                 printf "######## gcc build make all returned %d\n" $?
  23. -               time ksh93 -c 'export SHELL=/bin/ksh93 ; (yes | make --load-average 32 -j12 install)'
  24. +               time ksh93 -c 'export SHELL=/bin/ksh93 ; (yes | make --load-average 32 -j12 install DESTDIR="$PWD/install_root")'
  25.                 printf "######## gcc build make install returned %d\n" $?
  26.         )
  27.  
  28. @@ -331,15 +331,15 @@ function bash_build
  29.         #
  30.         if $config_use_posix_ksh93_builtins ; then
  31.                 if is_cygwin && (( (cygwin_vers.major*1000+cygwin_vers.minor) >= 3005 )) ; then
  32. -                       time ksh93 -c 'export SHELL=/bin/ksh93 ; bmake -j16 install DESTDIR=$PWD/install_root'
  33. +                       time ksh93 -c 'export SHELL=/bin/ksh93 ; bmake -j16 install DESTDIR="$PWD/install_root"'
  34.                 else
  35. -                       time ksh93 -c 'export SHELL=/bin/ksh93 ; make -j16 install DESTDIR=$PWD/install_root'
  36. +                       time ksh93 -c 'export SHELL=/bin/ksh93 ; make -j16 install DESTDIR="$PWD/install_root"'
  37.                 fi
  38.         else
  39.                 if is_cygwin && (( (cygwin_vers.major*1000+cygwin_vers.minor) >= 3005 )) ; then
  40. -                       time bash -c 'export SHELL=/bin/bash ; bmake -j16 install DESTDIR=$PWD/install_root'
  41. +                       time bash -c 'export SHELL=/bin/bash ; bmake -j16 install DESTDIR="$PWD/install_root"'
  42.                 else
  43. -                       time bash -c 'export SHELL=/bin/bash ; make -j16 install DESTDIR=$PWD/install_root'
  44. +                       time bash -c 'export SHELL=/bin/bash ; make -j16 install DESTDIR="$PWD/install_root"'
  45.                 fi
  46.         fi
  47.         echo $?
  48. --
  49. 2.45.1
  50.  
  51. From cfcd5cec5ab0ea45ceead923404fedf165ac01df Mon Sep 17 00:00:00 2001
  52. From: Roland Mainz <roland.mainz@nrubsig.org>
  53. Date: Fri, 28 Feb 2025 10:28:48 +0100
  54. Subject: [PATCH 2/5] daemon: Fix "'>': signed/unsigned mismatch" warning in
  55.  |query_sparsefile_datasections()|
  56.  
  57. Fix "'>': signed/unsigned mismatch" warning in
  58. |query_sparsefile_datasections()|, |LARGE_INTEGER.QuadPart| is
  59. |signed int64_t|, the the other argument was |uint64_t|
  60.  
  61. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  62. ---
  63. daemon/fsctl.c | 2 +-
  64.  1 file changed, 1 insertion(+), 1 deletion(-)
  65.  
  66. diff --git a/daemon/fsctl.c b/daemon/fsctl.c
  67. index 12fc2ce..2ff49b2 100644
  68. --- a/daemon/fsctl.c
  69. +++ b/daemon/fsctl.c
  70. @@ -176,7 +176,7 @@ int query_sparsefile_datasections(nfs41_open_state *state,
  71.          outbuffer[i].Length.QuadPart = data_size;
  72.          (*res_num_records)++;
  73.  
  74. -        if (outbuffer[i].FileOffset.QuadPart > end_offset) {
  75. +        if ((uint64_t)outbuffer[i].FileOffset.QuadPart > end_offset) {
  76.              DPRINTF(QARLVL,
  77.                  ("end offset reached, "
  78.                  "outbuffer[%d].FileOffset.QuadPart(=%lld) > end_offset(=%lld)\n",
  79. --
  80. 2.45.1
  81.  
  82. From 528b944a5d50ad29c5500ccd4cb59fb9eaf9a063 Mon Sep 17 00:00:00 2001
  83. From: Roland Mainz <roland.mainz@nrubsig.org>
  84. Date: Fri, 28 Feb 2025 11:27:33 +0100
  85. Subject: [PATCH 3/5] daemon: Replace manual attrmask count/arr attr tests with
  86.  |bitmap_isset()|
  87.  
  88. Replace manual attrmask count/arr attr tests with |bitmap_isset()|.
  89.  
  90. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  91. ---
  92. daemon/acl.c          | 12 ++++++------
  93.  daemon/ea.c           |  3 +--
  94.  daemon/fileinfoutil.c | 14 +++++---------
  95.  daemon/fsctl.c        |  3 +--
  96.  daemon/getattr.c      |  3 +--
  97.  daemon/open.c         | 36 ++++++++++++------------------------
  98.  daemon/readwrite.c    |  6 ++----
  99.  daemon/setattr.c      |  9 +++------
  100.  8 files changed, 31 insertions(+), 55 deletions(-)
  101.  
  102. diff --git a/daemon/acl.c b/daemon/acl.c
  103. index e69c81c..dbfa975 100644
  104. --- a/daemon/acl.c
  105. +++ b/daemon/acl.c
  106. @@ -368,17 +368,18 @@ use_nfs41_getattr:
  107.           * (usually for new files). In this case do a full
  108.           * roundtrip to the NFS server to get the data...
  109.           */
  110. -        if ((info.attrmask.arr[1] &
  111. -            (FATTR4_WORD1_OWNER|FATTR4_WORD1_OWNER_GROUP)) != (FATTR4_WORD1_OWNER|FATTR4_WORD1_OWNER_GROUP)) {
  112. +        if (bitmap_isset(&info.attrmask, 1, FATTR4_WORD1_OWNER) &&
  113. +            bitmap_isset(&info.attrmask, 1, FATTR4_WORD1_OWNER_GROUP)) {
  114.              DPRINTF(ACLLVL2, ("handle_getattr: owner/owner_group not in cache, doing full lookup...\n"));
  115.              goto use_nfs41_getattr;
  116.          }
  117.      }
  118.  
  119.      EASSERT(info.attrmask.count > 1);
  120. -    EASSERT((info.attrmask.arr[1] & (FATTR4_WORD1_OWNER|FATTR4_WORD1_OWNER_GROUP)) == (FATTR4_WORD1_OWNER|FATTR4_WORD1_OWNER_GROUP));
  121. +    EASSERT(bitmap_isset(&info.attrmask, 1, FATTR4_WORD1_OWNER) &&
  122. +        bitmap_isset(&info.attrmask, 1, FATTR4_WORD1_OWNER_GROUP));
  123.      if (args->query & DACL_SECURITY_INFORMATION) {
  124. -        EASSERT((info.attrmask.arr[0] & (FATTR4_WORD0_ACL)) == (FATTR4_WORD0_ACL));
  125. +        EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_ACL));
  126.      }
  127.  
  128.      status = InitializeSecurityDescriptor(&sec_desc,
  129. @@ -1480,8 +1481,7 @@ static int handle_setacl(void *daemon_context, nfs41_upcall *upcall)
  130.      else {
  131.          args->ctime = info.change;
  132.  
  133. -        EASSERT((info.attrmask.count > 0) &&
  134. -            (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  135. +        EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  136.  
  137.          if (DPRINTF_LEVEL_ENABLED(ACLLVL1)) {
  138.              print_nfs41_file_info("handle_setacl: nfs41_setattr() success info OUT:", &info);
  139. diff --git a/daemon/ea.c b/daemon/ea.c
  140. index bca060c..00211a9 100644
  141. --- a/daemon/ea.c
  142. +++ b/daemon/ea.c
  143. @@ -203,8 +203,7 @@ static int handle_setexattr(void *daemon_context, nfs41_upcall *upcall)
  144.              goto out;
  145.          }
  146.  
  147. -        EASSERT((info.attrmask.count > 0) &&
  148. -            (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  149. +        EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  150.          args->ctime = info.change;
  151.          goto out;
  152.      }
  153. diff --git a/daemon/fileinfoutil.c b/daemon/fileinfoutil.c
  154. index bb23b41..be684fc 100644
  155. --- a/daemon/fileinfoutil.c
  156. +++ b/daemon/fileinfoutil.c
  157. @@ -60,8 +60,7 @@ ULONG nfs_file_info_to_attributes(
  158.              info->type));
  159.      }
  160.  
  161. -    EASSERT((info->attrmask.count > 0) &&
  162. -        (info->attrmask.arr[1] & FATTR4_WORD1_MODE));
  163. +    EASSERT(bitmap_isset(&info->attrmask, 1, FATTR4_WORD1_MODE));
  164.      if (info->mode == 0444) /* XXX: 0444 for READONLY */
  165.          attrs |= FILE_ATTRIBUTE_READONLY;
  166.  
  167. @@ -137,11 +136,9 @@ void nfs_to_standard_info(
  168.      const ULONG FileAttributes =
  169.          nfs_file_info_to_attributes(superblock, info);
  170.  
  171. -    EASSERT(info->attrmask.arr[0] & FATTR4_WORD0_SIZE);
  172. -    EASSERT((info->attrmask.count > 0) &&
  173. -        (info->attrmask.arr[1] & FATTR4_WORD1_NUMLINKS));
  174. -    EASSERT((info->attrmask.count > 0) &&
  175. -        (info->attrmask.arr[1] & FATTR4_WORD1_SPACE_USED));
  176. +    EASSERT(bitmap_isset(&info->attrmask, 0, FATTR4_WORD0_SIZE));
  177. +    EASSERT(bitmap_isset(&info->attrmask, 1, FATTR4_WORD1_NUMLINKS));
  178. +    EASSERT(bitmap_isset(&info->attrmask, 1, FATTR4_WORD1_SPACE_USED));
  179.  
  180.      std_out->EndOfFile.QuadPart = (LONGLONG)info->size;
  181.      std_out->AllocationSize.QuadPart = (LONGLONG)info->space_used;
  182. @@ -402,8 +399,7 @@ void nfs_to_stat_lx_info(
  183.              break;
  184.      }
  185.  
  186. -    EASSERT((info->attrmask.count > 0) &&
  187. -        (info->attrmask.arr[1] & FATTR4_WORD1_MODE));
  188. +    EASSERT(bitmap_isset(&info->attrmask, 1, FATTR4_WORD1_MODE));
  189.      if (info->mode & MODE4_RUSR)
  190.          stat_lx_out->LxMode |= LX_MODE_S_IREAD;
  191.      if (info->mode & MODE4_WUSR)
  192. diff --git a/daemon/fsctl.c b/daemon/fsctl.c
  193. index 2ff49b2..29092b2 100644
  194. --- a/daemon/fsctl.c
  195. +++ b/daemon/fsctl.c
  196. @@ -355,8 +355,7 @@ int handle_setzerodata(void *daemon_context,
  197.       }
  198.  
  199.      /* Update ctime on success */
  200. -    EASSERT((info.attrmask.count > 0) &&
  201. -        (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  202. +    EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  203.      args->ctime = info.change;
  204.  
  205.      DPRINTF(SZDLVL,
  206. diff --git a/daemon/getattr.c b/daemon/getattr.c
  207. index 2a8e037..c3c8741 100644
  208. --- a/daemon/getattr.c
  209. +++ b/daemon/getattr.c
  210. @@ -178,8 +178,7 @@ static int handle_getattr(void *daemon_context, nfs41_upcall *upcall)
  211.          }
  212.      }
  213.  
  214. -    EASSERT((info.attrmask.count > 0) &&
  215. -        (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  216. +    EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  217.      args->ctime = info.change;
  218.  
  219.      switch (args->query_class) {
  220. diff --git a/daemon/open.c b/daemon/open.c
  221. index 2fbea48..f63b6ae 100644
  222. --- a/daemon/open.c
  223. +++ b/daemon/open.c
  224. @@ -878,18 +878,14 @@ static int handle_open(void *daemon_context, nfs41_upcall *upcall)
  225.          nfs_to_standard_info(state->file.fh.superblock,
  226.              &info,
  227.              &args->std_info);
  228. -        EASSERT((info.attrmask.count > 0) &&
  229. -            (info.attrmask.arr[0] & FATTR4_WORD0_FILEID));
  230. +        EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_FILEID));
  231.          args->fileid = info.fileid;
  232. -        EASSERT((info.attrmask.count > 0) &&
  233. -            (info.attrmask.arr[0] & FATTR4_WORD0_FSID));
  234. +        EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_FSID));
  235.          args->fsid_major = info.fsid.major;
  236.          args->fsid_minor = info.fsid.minor;
  237. -        EASSERT((info.attrmask.count > 1) &&
  238. -            (info.attrmask.arr[1] & FATTR4_WORD1_MODE));
  239. +        EASSERT(bitmap_isset(&info.attrmask, 1, FATTR4_WORD1_MODE));
  240.          args->mode = info.mode;
  241. -        EASSERT((info.attrmask.count > 0) &&
  242. -            (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  243. +        EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  244.          args->changeattr = info.change;
  245.      } else if (open_for_attributes(state->type, args->access_mask,
  246.                  args->disposition, status)) {
  247. @@ -905,18 +901,14 @@ static int handle_open(void *daemon_context, nfs41_upcall *upcall)
  248.          nfs_to_standard_info(state->file.fh.superblock,
  249.              &info,
  250.              &args->std_info);
  251. -        EASSERT((info.attrmask.count > 0) &&
  252. -            (info.attrmask.arr[0] & FATTR4_WORD0_FILEID));
  253. +        EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_FILEID));
  254.          args->fileid = info.fileid;
  255. -        EASSERT((info.attrmask.count > 0) &&
  256. -            (info.attrmask.arr[0] & FATTR4_WORD0_FSID));
  257. +        EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_FSID));
  258.          args->fsid_major = info.fsid.major;
  259.          args->fsid_minor = info.fsid.minor;
  260. -        EASSERT((info.attrmask.count > 1) &&
  261. -            (info.attrmask.arr[1] & FATTR4_WORD1_MODE));
  262. +        EASSERT(bitmap_isset(&info.attrmask, 1, FATTR4_WORD1_MODE));
  263.          args->mode = info.mode;
  264. -        EASSERT((info.attrmask.count > 0) &&
  265. -            (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  266. +        EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  267.          args->changeattr = info.change;
  268.  
  269.  #ifdef NFS41_DRIVER_FEATURE_LOCAL_UIDGID_IN_NFSV3ATTRIBUTES
  270. @@ -1149,18 +1141,14 @@ create_chgrp_out:
  271.              nfs_to_standard_info(state->file.fh.superblock,
  272.                  &info,
  273.                  &args->std_info);
  274. -            EASSERT((info.attrmask.count > 0) &&
  275. -                (info.attrmask.arr[0] & FATTR4_WORD0_FILEID));
  276. +            EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_FILEID));
  277.              args->fileid = info.fileid;
  278. -            EASSERT((info.attrmask.count > 0) &&
  279. -                (info.attrmask.arr[0] & FATTR4_WORD0_FSID));
  280. +            EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_FSID));
  281.              args->fsid_major = info.fsid.major;
  282.              args->fsid_minor = info.fsid.minor;
  283. -            EASSERT((info.attrmask.count > 1) &&
  284. -                (info.attrmask.arr[1] & FATTR4_WORD1_MODE));
  285. +            EASSERT(bitmap_isset(&info.attrmask, 1, FATTR4_WORD1_MODE));
  286.              args->mode = info.mode;
  287. -            EASSERT((info.attrmask.count > 0) &&
  288. -                (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  289. +            EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  290.              args->changeattr = info.change;
  291.          }
  292.  
  293. diff --git a/daemon/readwrite.c b/daemon/readwrite.c
  294. index 99afd58..a474904 100644
  295. --- a/daemon/readwrite.c
  296. +++ b/daemon/readwrite.c
  297. @@ -307,8 +307,7 @@ retry_write:
  298.                         goto out;
  299.         }
  300.  
  301. -    EASSERT((info.attrmask.count > 0) &&
  302. -        (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  303. +    EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  304.      args->ctime = info.change;
  305.  
  306.  out:
  307. @@ -342,8 +341,7 @@ static int write_to_pnfs(
  308.          status = ERROR_WRITE_FAULT;
  309.          goto out;
  310.      }
  311. -    EASSERT((info.attrmask.count > 0) &&
  312. -        (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  313. +    EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  314.      args->ctime = info.change;
  315.  out:
  316.      return status;
  317. diff --git a/daemon/setattr.c b/daemon/setattr.c
  318. index d42612e..1e2bfdd 100644
  319. --- a/daemon/setattr.c
  320. +++ b/daemon/setattr.c
  321. @@ -171,8 +171,7 @@ static int handle_nfs41_setattr_basicinfo(void *daemon_context, setattr_upcall_a
  322.          status = nfs_to_windows_error(status, ERROR_NOT_SUPPORTED);
  323.          goto out;
  324.      }
  325. -    EASSERT((info.attrmask.count > 0) &&
  326. -        (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  327. +    EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  328.      args->ctime = info.change;
  329.  out:
  330.      return status;
  331. @@ -533,8 +532,7 @@ static int handle_nfs41_set_size(void *daemon_context, setattr_upcall_args *args
  332.      AcquireSRWLockExclusive(&state->lock);
  333.      state->pnfs_last_offset = info.size ? info.size - 1 : 0;
  334.      ReleaseSRWLockExclusive(&state->lock);
  335. -    EASSERT((info.attrmask.count > 0) &&
  336. -        (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  337. +    EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  338.      args->ctime = info.change;
  339.  out:
  340.      return status = nfs_to_windows_error(status, ERROR_NOT_SUPPORTED);
  341. @@ -647,8 +645,7 @@ static int handle_nfs41_link(void *daemon_context, setattr_upcall_args *args)
  342.          status = nfs_to_windows_error(status, ERROR_INVALID_PARAMETER);
  343.          goto out;
  344.      }
  345. -    EASSERT((info.attrmask.count > 0) &&
  346. -        (info.attrmask.arr[0] & FATTR4_WORD0_CHANGE));
  347. +    EASSERT(bitmap_isset(&info.attrmask, 0, FATTR4_WORD0_CHANGE));
  348.      args->ctime = info.change;
  349.  out:
  350.      return status;
  351. --
  352. 2.45.1
  353.  
  354. From 0023467d2bae35d4bbc7b71e513eda2bf3ea43d4 Mon Sep 17 00:00:00 2001
  355. From: Roland Mainz <roland.mainz@nrubsig.org>
  356. Date: Fri, 28 Feb 2025 15:14:56 +0100
  357. Subject: [PATCH 4/5] daemon: |nfs41_superblock_getattr()| should handle
  358.  unexpected errors from |OP_OPENATTR|
  359.  
  360. |nfs41_superblock_getattr()| should handle unexpected errors from
  361. |OP_OPENATTR|.
  362.  
  363. Reported-by: Cedric Blancher <cedric.blancher@gmail.com>
  364. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  365. ---
  366. daemon/nfs41_ops.c | 6 ++++++
  367.  1 file changed, 6 insertions(+)
  368.  
  369. diff --git a/daemon/nfs41_ops.c b/daemon/nfs41_ops.c
  370. index 7f8f870..36a4b40 100644
  371. --- a/daemon/nfs41_ops.c
  372. +++ b/daemon/nfs41_ops.c
  373. @@ -1251,6 +1251,12 @@ int nfs41_superblock_getattr(
  374.      if (status) goto out;
  375.  
  376.      switch (status = openattr_res.status) {
  377. +    default:
  378. +        eprintf("nfs41_superblock_getattr: "
  379. +            "Unexpected NFS error '%s' while probing named attr "
  380. +            "support\n",
  381. +            nfs_error_string(status));
  382. +        /* fall-through */
  383.      case NFS4ERR_NOTSUPP:
  384.          *supports_named_attrs = 0;
  385.          status = NFS4_OK;
  386. --
  387. 2.45.1
  388.  
  389. From 6ae0cde5e94693cec99071d59aeadb48f7c133ec Mon Sep 17 00:00:00 2001
  390. From: Roland Mainz <roland.mainz@nrubsig.org>
  391. Date: Fri, 28 Feb 2025 17:32:40 +0100
  392. Subject: [PATCH 5/5] cygwin: Add more cdb debugging comments to
  393.  msnfs41client.bash
  394.  
  395. Add more cdb debugging comments to msnfs41client.bash
  396.  
  397. Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
  398. ---
  399. cygwin/devel/msnfs41client.bash | 14 ++++++++++++--
  400.  1 file changed, 12 insertions(+), 2 deletions(-)
  401.  
  402. diff --git a/cygwin/devel/msnfs41client.bash b/cygwin/devel/msnfs41client.bash
  403. index 42b4a86..e812c83 100755
  404. --- a/cygwin/devel/msnfs41client.bash
  405. +++ b/cygwin/devel/msnfs41client.bash
  406. @@ -467,7 +467,13 @@ function nfsclient_rundeamon
  407.                 "${nfsd_args[@]}"
  408.         elif false ; then
  409.                 export _NT_ALT_SYMBOL_PATH="$(cygpath -w "$PWD");srv*https://msdl.microsoft.com/download/symbols"
  410. -               # use '!gflag +full;g' for heap tests, eats lots of memory
  411. +               #
  412. +               # Useful cdb cmds:
  413. +               # - heap tests (eats lots of memory):
  414. +               # '-c' '!gflag +full;g' for heap tests
  415. +               # - log all |malloc()|/|calloc()| calls:
  416. +               # '-c' 'bp ucrtbase!malloc "kp; g" ; bp ucrtbased!_malloc_dbg "kp; g" ; bp ucrtbase!calloc "kp; g" ; bp ucrtbased!_calloc_dbg "kp; g" ; g'
  417. +               #
  418.                 nfsd_args=(
  419.                         'cdb'
  420.                         '-c' '!gflag +soe;sxe -c "kp;gn" *;.lines -e;g'
  421. @@ -595,7 +601,11 @@ function nfsclient_system_rundeamon
  422.                 "${nfsd_args[@]}"
  423.         elif false ; then
  424.                 export _NT_ALT_SYMBOL_PATH="$(cygpath -w "$PWD");srv*https://msdl.microsoft.com/download/symbols"
  425. -               # use '!gflag +full;g' for heap tests, eats lots of memory
  426. +               # - heap tests (eats lots of memory):
  427. +               # '-c' '!gflag +full;g' for heap tests
  428. +               # - log all |malloc()|/|calloc()| calls:
  429. +               # '-c' 'bp ucrtbase!malloc "kp; g" ; bp ucrtbased!_malloc_dbg "kp; g" ; bp ucrtbase!calloc "kp; g" ; bp ucrtbased!_calloc_dbg "kp; g" ; g'
  430. +               #
  431.                 nfsd_args=(
  432.                         'cdb'
  433.                         '-c' '!gflag +soe;sxe -c "kp;gn" *;.lines -e;g'
  434. --
  435. 2.45.1

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