Print this page
5056 ZFS deadlock on db_mtx and dn_holds
Reviewed by: Will Andrews <willa@spectralogic.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
        
*** 20,29 ****
--- 20,30 ----
   */
  /*
   * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
   * Copyright (c) 2011, 2014 by Delphix. All rights reserved.
   * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
+  * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved.
   */
  
  #ifndef _SYS_SPA_H
  #define _SYS_SPA_H
  
*** 680,689 ****
--- 681,691 ----
  extern spa_t *spa_next(spa_t *prev);
  
  /* Refcount functions */
  extern void spa_open_ref(spa_t *spa, void *tag);
  extern void spa_close(spa_t *spa, void *tag);
+ extern void spa_async_close(spa_t *spa, void *tag);
  extern boolean_t spa_refcount_zero(spa_t *spa);
  
  #define SCL_NONE        0x00
  #define SCL_CONFIG      0x01
  #define SCL_STATE       0x02
*** 752,761 ****
--- 754,766 ----
  extern void spa_update_dspace(spa_t *spa);
  extern uint64_t spa_version(spa_t *spa);
  extern boolean_t spa_deflate(spa_t *spa);
  extern metaslab_class_t *spa_normal_class(spa_t *spa);
  extern metaslab_class_t *spa_log_class(spa_t *spa);
+ extern void spa_evicting_os_register(spa_t *, objset_t *os);
+ extern void spa_evicting_os_deregister(spa_t *, objset_t *os);
+ extern void spa_evicting_os_wait(spa_t *spa);
  extern int spa_max_replication(spa_t *spa);
  extern int spa_prev_software_version(spa_t *spa);
  extern int spa_busy(void);
  extern uint8_t spa_get_failmode(spa_t *spa);
  extern boolean_t spa_suspended(spa_t *spa);