Print this page
NEX-13937 Improve kstat performance
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-10069 ZFS_READONLY is a little too strict (fix test lint)
NEX-9553 Move ss_fill gap logic from scan algorithm into range_tree.c
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
NEX-6088 ZFS scrub/resilver take excessively long due to issuing lots of random IO
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
6209 libc mutexes break kernel writers hearts
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Dan McDonald <danmcd@omniti.com>
NEX-4582 update wrc test cases for allow to use write back cache per tree of datasets
Reviewed by: Steve Peng <steve.peng@nexenta.com>
Reviewed by: Alex Aizman <alex.aizman@nexenta.com>
5960 zfs recv should prefetch indirect blocks
5925 zfs receive -o origin=
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
NEX-4229 Panic destroying the pool using file backing store on FS with nbmand=on
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
NEX-3541 Implement persistent L2ARC - fix build breakage in libzpool.
NEX-3508 CLONE - Port NEX-2946 Add UNMAP/TRIM functionality to ZFS and illumos
Reviewed by: Josef Sipek <josef.sipek@nexenta.com>
Reviewed by: Alek Pinchuk <alek.pinchuk@nexenta.com>
Conflicts:
    usr/src/uts/common/io/scsi/targets/sd.c
    usr/src/uts/common/sys/scsi/targets/sddef.h
NEX-3079 port illumos ARC improvements
re #12393 rb3935 Kerberos and smbd disagree about who is our AD server (fix elf runtime attributes check)
re #11612 rb3907 Failing vdev of a mirrored pool should not take zfs operations out of action for extended periods of time.

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libzpool/common/sys/zfs_context.h
          +++ new/usr/src/lib/libzpool/common/sys/zfs_context.h
↓ 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   * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  23      - * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  24   23   * Copyright (c) 2012, 2016 by Delphix. All rights reserved.
  25   24   * Copyright (c) 2012, Joyent, Inc. All rights reserved.
       25 + * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  26   26   * Copyright 2017 RackTop Systems.
  27   27   */
  28   28  
  29   29  #ifndef _SYS_ZFS_CONTEXT_H
  30   30  #define _SYS_ZFS_CONTEXT_H
  31   31  
  32   32  #ifdef  __cplusplus
  33   33  extern "C" {
  34   34  #endif
  35   35  
↓ open down ↓ 202 lines elided ↑ open up ↑
 238  238  #define AT_SIZE         0x00080
 239  239  #define AT_ATIME        0x00100
 240  240  #define AT_MTIME        0x00200
 241  241  #define AT_CTIME        0x00400
 242  242  #define AT_RDEV         0x00800
 243  243  #define AT_BLKSIZE      0x01000
 244  244  #define AT_NBLOCKS      0x02000
 245  245  #define AT_SEQ          0x08000
 246  246  #define AT_XVATTR       0x10000
 247  247  
      248 +typedef struct caller_context {
      249 +        pid_t           cc_pid;         /* Process ID of the caller */
      250 +        int             cc_sysid;       /* System ID, used for remote calls */
      251 +        u_longlong_t    cc_caller_id;   /* Identifier for (set of) caller(s) */
      252 +        ulong_t         cc_flags;
      253 +} caller_context_t;
      254 +
 248  255  #define CRCREAT         0
 249  256  
 250  257  extern int fop_getattr(vnode_t *vp, vattr_t *vap);
 251  258  
 252  259  #define VOP_CLOSE(vp, f, c, o, cr, ct)  0
 253  260  #define VOP_PUTPAGE(vp, of, sz, fl, cr, ct)     0
 254  261  #define VOP_GETATTR(vp, vap, fl, cr, ct)  fop_getattr((vp), (vap));
 255  262  
 256  263  #define VOP_FSYNC(vp, f, cr, ct)        fsync((vp)->v_fd)
      264 +#define VOP_SPACE(vp, cmd, flck, fl, off, cr, ct) \
      265 +        fcntl((vp)->v_fd, cmd, (flck), sizeof (*(flck)))
 257  266  
 258  267  #define VN_RELE(vp)     vn_close(vp)
 259  268  
 260  269  extern int vn_open(char *path, int x1, int oflags, int mode, vnode_t **vpp,
 261  270      int x2, int x3);
 262  271  extern int vn_openat(char *path, int x1, int oflags, int mode, vnode_t **vpp,
 263  272      int x2, int x3, vnode_t *vp, int fd);
 264  273  extern int vn_rdwr(int uio, vnode_t *vp, void *addr, ssize_t len,
 265  274      offset_t offset, int x1, int x2, rlim64_t x3, void *x4, ssize_t *residp);
 266  275  extern void vn_close(vnode_t *vp);
↓ open down ↓ 43 lines elided ↑ open up ↑
 310  319          ASSERT(MUTEX_HELD((cp)->cc_lockp));                     \
 311  320  }
 312  321  
 313  322  #define CALLB_CPR_EXIT(cp) {                                    \
 314  323          ASSERT(MUTEX_HELD((cp)->cc_lockp));                     \
 315  324          mutex_exit((cp)->cc_lockp);                             \
 316  325  }
 317  326  
 318  327  #define zone_dataset_visible(x, y)      (1)
 319  328  #define INGLOBALZONE(z)                 (1)
 320      -extern uint32_t zone_get_hostid(void *zonep);
 321  329  
 322  330  extern int zfs_secpolicy_snapshot_perms(const char *name, cred_t *cr);
 323  331  extern int zfs_secpolicy_rename_perms(const char *from, const char *to,
 324  332      cred_t *cr);
 325  333  extern int zfs_secpolicy_destroy_perms(const char *name, cred_t *cr);
 326  334  
 327  335  #define ddi_log_sysevent(_a, _b, _c, _d, _e, _f, _g) \
 328  336          sysevent_post_event(_c, _d, _b, "libzpool", _e, _f)
 329  337  
 330  338  #ifdef  __cplusplus
 331  339  }
 332  340  #endif
 333  341  
 334  342  #endif  /* _SYS_ZFS_CONTEXT_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX