comparison usr/src/uts/common/fs/zfs/sys/rrwlock.h @ 13743:95aba6e49b9f

2882 implement libzfs_core 2883 changing "canmount" property to "on" should not always remount dataset 2900 "zfs snapshot" should be able to create multiple, arbitrary snapshots at once Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Chris Siden <christopher.siden@delphix.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Reviewed by: Bill Pijewski <wdp@joyent.com> Reviewed by: Dan Kruchinin <dan.kruchinin@gmail.com> Approved by: Eric Schrock <Eric.Schrock@delphix.com>
author Matthew Ahrens <mahrens@delphix.com>
date Sat, 30 Jun 2012 13:00:47 -0700
parents 6752aa2bd5bc
children 4972ab336f54
comparison
equal deleted inserted replaced
13742:b6bbdd77139c 13743:95aba6e49b9f
20 */ 20 */
21 /* 21 /*
22 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 22 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms. 23 * Use is subject to license terms.
24 */ 24 */
25 /*
26 * Copyright (c) 2012 by Delphix. All rights reserved.
27 */
25 28
26 #ifndef _SYS_RR_RW_LOCK_H 29 #ifndef _SYS_RR_RW_LOCK_H
27 #define _SYS_RR_RW_LOCK_H 30 #define _SYS_RR_RW_LOCK_H
28
29 #pragma ident "%Z%%M% %I% %E% SMI"
30 31
31 #ifdef __cplusplus 32 #ifdef __cplusplus
32 extern "C" { 33 extern "C" {
33 #endif 34 #endif
34 35
67 void rrw_init(rrwlock_t *rrl); 68 void rrw_init(rrwlock_t *rrl);
68 void rrw_destroy(rrwlock_t *rrl); 69 void rrw_destroy(rrwlock_t *rrl);
69 void rrw_enter(rrwlock_t *rrl, krw_t rw, void *tag); 70 void rrw_enter(rrwlock_t *rrl, krw_t rw, void *tag);
70 void rrw_exit(rrwlock_t *rrl, void *tag); 71 void rrw_exit(rrwlock_t *rrl, void *tag);
71 boolean_t rrw_held(rrwlock_t *rrl, krw_t rw); 72 boolean_t rrw_held(rrwlock_t *rrl, krw_t rw);
73 void rrw_tsd_destroy(void *arg);
72 74
73 #define RRW_READ_HELD(x) rrw_held(x, RW_READER) 75 #define RRW_READ_HELD(x) rrw_held(x, RW_READER)
74 #define RRW_WRITE_HELD(x) rrw_held(x, RW_WRITER) 76 #define RRW_WRITE_HELD(x) rrw_held(x, RW_WRITER)
75 77
76 #ifdef __cplusplus 78 #ifdef __cplusplus