tmpfs.h (191990) | tmpfs.h (197953) |
---|---|
1/* $NetBSD: tmpfs.h,v 1.26 2007/02/22 06:37:00 thorpej Exp $ */ 2 3/*- 4 * Copyright (c) 2005, 2006 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Julio M. Merino Vidal, developed as part of Google's Summer of Code --- 15 unchanged lines hidden (view full) --- 24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 * POSSIBILITY OF SUCH DAMAGE. 31 * | 1/* $NetBSD: tmpfs.h,v 1.26 2007/02/22 06:37:00 thorpej Exp $ */ 2 3/*- 4 * Copyright (c) 2005, 2006 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Julio M. Merino Vidal, developed as part of Google's Summer of Code --- 15 unchanged lines hidden (view full) --- 24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 * POSSIBILITY OF SUCH DAMAGE. 31 * |
32 * $FreeBSD: head/sys/fs/tmpfs/tmpfs.h 191990 2009-05-11 15:33:26Z attilio $ | 32 * $FreeBSD: head/sys/fs/tmpfs/tmpfs.h 197953 2009-10-11 07:03:56Z delphij $ |
33 */ 34 35#ifndef _FS_TMPFS_TMPFS_H_ 36#define _FS_TMPFS_TMPFS_H_ 37 38/* --------------------------------------------------------------------- 39 * KERNEL-SPECIFIC DEFINITIONS 40 * --------------------------------------------------------------------- */ --- 257 unchanged lines hidden (view full) --- 298#define tn_rdev tn_spec.tn_rdev 299#define tn_dir tn_spec.tn_dir 300#define tn_link tn_spec.tn_link 301#define tn_reg tn_spec.tn_reg 302#define tn_fifo tn_spec.tn_fifo 303 304#define TMPFS_NODE_LOCK(node) mtx_lock(&(node)->tn_interlock) 305#define TMPFS_NODE_UNLOCK(node) mtx_unlock(&(node)->tn_interlock) | 33 */ 34 35#ifndef _FS_TMPFS_TMPFS_H_ 36#define _FS_TMPFS_TMPFS_H_ 37 38/* --------------------------------------------------------------------- 39 * KERNEL-SPECIFIC DEFINITIONS 40 * --------------------------------------------------------------------- */ --- 257 unchanged lines hidden (view full) --- 298#define tn_rdev tn_spec.tn_rdev 299#define tn_dir tn_spec.tn_dir 300#define tn_link tn_spec.tn_link 301#define tn_reg tn_spec.tn_reg 302#define tn_fifo tn_spec.tn_fifo 303 304#define TMPFS_NODE_LOCK(node) mtx_lock(&(node)->tn_interlock) 305#define TMPFS_NODE_UNLOCK(node) mtx_unlock(&(node)->tn_interlock) |
306#define TMPFS_NODE_MTX(node) (&(node)->tn_interlock) | 306#define TMPFS_NODE_MTX(node) (&(node)->tn_interlock) |
307 | 307 |
308#ifdef INVARIANTS 309#define TMPFS_ASSERT_LOCKED(node) do { \ 310 MPASS(node != NULL); \ 311 MPASS(node->tn_vnode != NULL); \ 312 if (!VOP_ISLOCKED(node->tn_vnode) && \ 313 !mtx_owned(TMPFS_NODE_MTX(node))) \ 314 panic("tmpfs: node is not locked: %p", node); \ 315 } while (0) 316#define TMPFS_ASSERT_ELOCKED(node) do { \ 317 MPASS((node) != NULL); \ 318 MPASS((node)->tn_vnode != NULL); \ 319 mtx_assert(TMPFS_NODE_MTX(node), MA_OWNED); \ 320 ASSERT_VOP_LOCKED((node)->tn_vnode, "tmpfs"); \ 321 } while (0) 322#else 323#define TMPFS_ASSERT_LOCKED(node) (void)0 324#define TMPFS_ASSERT_ELOCKED(node) (void)0 325#endif 326 |
|
308#define TMPFS_VNODE_ALLOCATING 1 309#define TMPFS_VNODE_WANT 2 | 327#define TMPFS_VNODE_ALLOCATING 1 328#define TMPFS_VNODE_WANT 2 |
329#define TMPFS_VNODE_DOOMED 4 |
|
310/* --------------------------------------------------------------------- */ 311 312/* 313 * Internal representation of a tmpfs mount point. 314 */ 315struct tmpfs_mount { 316 /* Maximum number of memory pages available for use by the file 317 * system, set during mount time. This variable must never be --- 251 unchanged lines hidden --- | 330/* --------------------------------------------------------------------- */ 331 332/* 333 * Internal representation of a tmpfs mount point. 334 */ 335struct tmpfs_mount { 336 /* Maximum number of memory pages available for use by the file 337 * system, set during mount time. This variable must never be --- 251 unchanged lines hidden --- |