Print this page
    
NEX-6778 NFS kstats leak and cause system to hang
Revert "NEX-4261 Per-client NFS server IOPS, bandwidth, and latency kstats"
This reverts commit 586c3ab1927647487f01c337ddc011c642575a52.
Revert "NEX-5354 Aggregated IOPS, bandwidth, and latency kstats for NFS server"
This reverts commit c91d7614da8618ef48018102b077f60ecbbac8c2.
Revert "NEX-5667 nfssrv_stats_flags does not work for aggregated kstats"
This reverts commit 3dcf42618be7dd5f408c327f429c81e07ca08e74.
Revert "NEX-5750 Time values for aggregated NFS server kstats should be normalized"
This reverts commit 1f4d4f901153b0191027969fa4a8064f9d3b9ee1.
Revert "NEX-5942 Panic in rfs4_minorvers_mismatch() with NFSv4.1 client"
This reverts commit 40766417094a162f5e4cc8786c0fa0a7e5871cd9.
Revert "NEX-5752 NFS server: namespace collision in kstats"
This reverts commit ae81e668db86050da8e483264acb0cce0444a132.
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
NEX-4261 Per-client NFS server IOPS, bandwidth, and latency kstats
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-3097 IOPS, bandwidth, and latency kstats for NFS server
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
NEX-1128 NFS server: Generic uid and gid remapping for AUTH_SYS
Reviewed by: Jan Kryl <jan.kryl@nexenta.com>
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/uts/common/nfs/nfs_dispatch.h
          +++ new/usr/src/uts/common/nfs/nfs_dispatch.h
   1    1  /*
   2    2   * CDDL HEADER START
   3    3   *
   4    4   * The contents of this file are subject to the terms of the
   5    5   * Common Development and Distribution License (the "License").
   6    6   * You may not use this file except in compliance with the License.
   7    7   *
   8    8   * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9   * or http://www.opensolaris.org/os/licensing.
  10   10   * See the License for the specific language governing permissions
  11   11   * and limitations under the License.
  12   12   *
  
    | 
      ↓ open down ↓ | 
    12 lines elided | 
    
      ↑ open up ↑ | 
  
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  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  /*
       23 + * Copyright 2016 Nexenta Systems, Inc.  All rights reserved.
       24 + */
       25 +
       26 +/*
  23   27   * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  24   28   * Use is subject to license terms.
  25   29   */
  26      -/*
  27      - * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
  28      - */
  29   30  
  30   31  /*
  31   32   *      Copyright (c) 1983,1984,1985,1986,1987,1988,1989  AT&T.
  32   33   *      All rights reserved.
  33   34   *      Use is subject to license terms.
  34   35   */
  35   36  
  36   37  
  37   38  #ifndef _NFS_DISPATCH_H
  38   39  #define _NFS_DISPATCH_H
  39   40  
  40   41  #ifdef  __cplusplus
  41   42  extern "C" {
  42   43  #endif
  43   44  
  44   45  /*
  45   46   * RPC dispatch table
  46   47   * Indexed by version, proc
  47   48   */
  48   49  
  49   50  typedef struct rpcdisp {
  50   51          void      (*dis_proc)();        /* proc to call */
  51   52          xdrproc_t dis_xdrargs;          /* xdr routine to get args */
  52   53          xdrproc_t dis_fastxdrargs;      /* `fast' xdr routine to get args */
  53   54          int       dis_argsz;            /* sizeof args */
  54   55          xdrproc_t dis_xdrres;           /* xdr routine to put results */
  55   56          xdrproc_t dis_fastxdrres;       /* `fast' xdr routine to put results */
  56   57          int       dis_ressz;            /* size of results */
  57   58          void      (*dis_resfree)();     /* frees space allocated by proc */
  58   59          int       dis_flags;            /* flags, see below */
  59   60          void      *(*dis_getfh)();      /* returns the fhandle for the req */
  60   61  } rpcdisp_t;
  61   62  
  62   63  #define RPC_IDEMPOTENT  0x1     /* idempotent or not */
  63   64  /*
  64   65   * Be very careful about which NFS procedures get the RPC_ALLOWANON bit.
  65   66   * Right now, if this bit is on, we ignore the results of per NFS request
  66   67   * access control.
  
    | 
      ↓ open down ↓ | 
    28 lines elided | 
    
      ↑ open up ↑ | 
  
  67   68   */
  68   69  #define RPC_ALLOWANON   0x2     /* allow anonymous access */
  69   70  #define RPC_MAPRESP     0x4     /* use mapped response buffer */
  70   71  #define RPC_AVOIDWORK   0x8     /* do work avoidance for dups */
  71   72  #define RPC_PUBLICFH_OK 0x10    /* allow use of public filehandle */
  72   73  
  73   74  typedef struct rpc_disptable {
  74   75          int dis_nprocs;
  75   76          char **dis_procnames;
  76   77          kstat_named_t **dis_proccntp;
       78 +        kstat_t ***dis_prociop;
  77   79          struct rpcdisp *dis_table;
  78   80  } rpc_disptable_t;
  79   81  
  80   82  void    rpc_null(caddr_t *, caddr_t *, struct exportinfo *, struct svc_req *,
  81   83      cred_t *, bool_t);
  82   84  
  83   85  #ifdef  __cplusplus
  84   86  }
  85   87  #endif
  86   88  
  87   89  #endif /* _NFS_DISPATCH_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX