Print this page
3742 zfs comments need cleaner, more consistent style
Submitted by:   Will Andrews <willa@spectralogic.com>
Submitted by:   Alan Somers <alans@spectralogic.com>
Reviewed by:    Matthew Ahrens <mahrens@delphix.com>
Reviewed by:    George Wilson <george.wilson@delphix.com>
Reviewed by:    Eric Schrock <eric.schrock@delphix.com>


  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  23  * Use is subject to license terms.
  24  */
  25 /*
  26  * Copyright (c) 2012 by Delphix. All rights reserved.
  27  */
  28 
  29 /*
  30  * This file contains the code to implement file range locking in
  31  * ZFS, although there isn't much specific to ZFS (all that comes to mind
  32  * support for growing the blocksize).
  33  *
  34  * Interface
  35  * ---------
  36  * Defined in zfs_rlock.h but essentially:
  37  *      rl = zfs_range_lock(zp, off, len, lock_type);
  38  *      zfs_range_unlock(rl);
  39  *      zfs_range_reduce(rl, off, len);
  40  *
  41  * AVL tree
  42  * --------
  43  * An AVL tree is used to maintain the state of the existing ranges
  44  * that are locked for exclusive (writer) or shared (reader) use.
  45  * The starting range offset is used for searching and sorting the tree.
  46  *
  47  * Common case
  48  * -----------
  49  * The (hopefully) usual case is of no overlaps or contention for
  50  * locks. On entry to zfs_lock_range() a rl_t is allocated; the tree
  51  * searched that finds no overlap, and *this* rl_t is placed in the tree.




  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  23  * Use is subject to license terms.
  24  */
  25 /*
  26  * Copyright (c) 2012 by Delphix. All rights reserved.
  27  */
  28 
  29 /*
  30  * This file contains the code to implement file range locking in
  31  * ZFS, although there isn't much specific to ZFS (all that comes to mind is
  32  * support for growing the blocksize).
  33  *
  34  * Interface
  35  * ---------
  36  * Defined in zfs_rlock.h but essentially:
  37  *      rl = zfs_range_lock(zp, off, len, lock_type);
  38  *      zfs_range_unlock(rl);
  39  *      zfs_range_reduce(rl, off, len);
  40  *
  41  * AVL tree
  42  * --------
  43  * An AVL tree is used to maintain the state of the existing ranges
  44  * that are locked for exclusive (writer) or shared (reader) use.
  45  * The starting range offset is used for searching and sorting the tree.
  46  *
  47  * Common case
  48  * -----------
  49  * The (hopefully) usual case is of no overlaps or contention for
  50  * locks. On entry to zfs_lock_range() a rl_t is allocated; the tree
  51  * searched that finds no overlap, and *this* rl_t is placed in the tree.