Print this page
re #13613 rb4516 Tunables needs volatile keyword

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/nfs/nfs_common.c
          +++ new/usr/src/uts/common/fs/nfs/nfs_common.c
↓ open down ↓ 13 lines elided ↑ open up ↑
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved.
  23   23   * Copyright (c) 2011 Bayard G. Bell. All rights reserved.
       24 + * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
  24   25   * Copyright 2013 Joyent, Inc. All rights reserved.
  25   26   */
  26   27  
  27   28  /*
  28   29   *      Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T
  29   30   *              All rights reserved.
  30   31   */
  31   32  
  32   33  #include <sys/errno.h>
  33   34  #include <sys/param.h>
↓ open down ↓ 244 lines elided ↑ open up ↑
 278  279           */
 279  280          return (NFS_MAXDATA);
 280  281  }
 281  282  
 282  283  /*
 283  284   * Returns the preferred transfer size in bytes based on
 284  285   * what network interfaces are available.
 285  286   */
 286  287  
 287  288  /* this should reflect the largest transfer size possible */
 288      -static int nfs3_max_transfer_size = 1024 * 1024;
      289 +volatile int nfs3_max_transfer_size = 1024 * 1024;
 289  290  
 290  291  int
 291  292  nfs3tsize(void)
 292  293  {
 293  294          /*
 294  295           * For the moment, just return nfs3_max_transfer_size until we
 295  296           * can query the appropriate transport.
 296  297           */
 297  298          return (nfs3_max_transfer_size);
 298  299  }
 299  300  
 300      -static uint_t nfs3_max_transfer_size_clts = 32 * 1024;
 301      -static uint_t nfs3_max_transfer_size_cots = 1024 * 1024;
 302      -static uint_t nfs3_max_transfer_size_rdma = 1024 * 1024;
      301 +volatile uint_t nfs3_max_transfer_size_clts = 32 * 1024;
      302 +volatile uint_t nfs3_max_transfer_size_cots = 1024 * 1024;
      303 +volatile uint_t nfs3_max_transfer_size_rdma = 1024 * 1024;
 303  304  
 304  305  uint_t
 305  306  nfs3_tsize(struct knetconfig *knp)
 306  307  {
 307  308  
 308  309          if (knp->knc_semantics == NC_TPI_COTS_ORD ||
 309  310              knp->knc_semantics == NC_TPI_COTS)
 310  311                  return (nfs3_max_transfer_size_cots);
 311  312          if (knp->knc_semantics == NC_TPI_RDMA)
 312  313                  return (nfs3_max_transfer_size_rdma);
↓ open down ↓ 318 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX