tmpfs.h (171087) | tmpfs.h (171308) |
---|---|
1/* $NetBSD: tmpfs.h,v 1.18 2006/03/31 20:27:49 riz Exp $ */ 2 3/* 4 * Copyright (c) 2005 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 --- 22 unchanged lines hidden (view full) --- 31 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 32 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 33 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 34 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 35 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 36 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 37 * POSSIBILITY OF SUCH DAMAGE. 38 * | 1/* $NetBSD: tmpfs.h,v 1.18 2006/03/31 20:27:49 riz Exp $ */ 2 3/* 4 * Copyright (c) 2005 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 --- 22 unchanged lines hidden (view full) --- 31 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 32 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 33 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 34 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 35 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 36 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 37 * POSSIBILITY OF SUCH DAMAGE. 38 * |
39 * $FreeBSD: head/sys/fs/tmpfs/tmpfs.h 171087 2007-06-29 05:23:15Z delphij $ | 39 * $FreeBSD: head/sys/fs/tmpfs/tmpfs.h 171308 2007-07-08 15:56:12Z delphij $ |
40 */ 41 42#ifndef _FS_TMPFS_TMPFS_H_ 43#define _FS_TMPFS_TMPFS_H_ 44 45/* --------------------------------------------------------------------- 46 * KERNEL-SPECIFIC DEFINITIONS 47 * --------------------------------------------------------------------- */ --- 414 unchanged lines hidden (view full) --- 462 freepages = tmpfs_mem_info(); 463 freepages -= freepages < TMPFS_PAGES_RESERVED ? 464 freepages : TMPFS_PAGES_RESERVED; 465 466 return MIN(tmp->tm_pages_max, freepages + tmp->tm_pages_used); 467} 468 469/* Returns the available space for the given file system. */ | 40 */ 41 42#ifndef _FS_TMPFS_TMPFS_H_ 43#define _FS_TMPFS_TMPFS_H_ 44 45/* --------------------------------------------------------------------- 46 * KERNEL-SPECIFIC DEFINITIONS 47 * --------------------------------------------------------------------- */ --- 414 unchanged lines hidden (view full) --- 462 freepages = tmpfs_mem_info(); 463 freepages -= freepages < TMPFS_PAGES_RESERVED ? 464 freepages : TMPFS_PAGES_RESERVED; 465 466 return MIN(tmp->tm_pages_max, freepages + tmp->tm_pages_used); 467} 468 469/* Returns the available space for the given file system. */ |
470#define TMPFS_META_PAGES(tmp) ((tmp)->tm_nodes_inuse * (sizeof(struct tmpfs_node) \ 471 + sizeof(struct tmpfs_dirent))/PAGE_SIZE + 1) | 470#define TMPFS_META_PAGES(tmp) (howmany((tmp)->tm_nodes_inuse * (sizeof(struct tmpfs_node) \ 471 + sizeof(struct tmpfs_dirent)), PAGE_SIZE)) |
472#define TMPFS_FILE_PAGES(tmp) ((tmp)->tm_pages_used) 473 474#define TMPFS_PAGES_AVAIL(tmp) (TMPFS_PAGES_MAX(tmp) > \ 475 TMPFS_META_PAGES(tmp)+TMPFS_FILE_PAGES(tmp)? \ 476 TMPFS_PAGES_MAX(tmp) - TMPFS_META_PAGES(tmp) \ 477 - TMPFS_FILE_PAGES(tmp):0) 478 479#endif --- 33 unchanged lines hidden (view full) --- 513{ 514 struct tmpfs_node *node; 515 516 node = VP_TO_TMPFS_NODE(vp); 517 TMPFS_VALIDATE_DIR(node); 518 return node; 519} 520 | 472#define TMPFS_FILE_PAGES(tmp) ((tmp)->tm_pages_used) 473 474#define TMPFS_PAGES_AVAIL(tmp) (TMPFS_PAGES_MAX(tmp) > \ 475 TMPFS_META_PAGES(tmp)+TMPFS_FILE_PAGES(tmp)? \ 476 TMPFS_PAGES_MAX(tmp) - TMPFS_META_PAGES(tmp) \ 477 - TMPFS_FILE_PAGES(tmp):0) 478 479#endif --- 33 unchanged lines hidden (view full) --- 513{ 514 struct tmpfs_node *node; 515 516 node = VP_TO_TMPFS_NODE(vp); 517 TMPFS_VALIDATE_DIR(node); 518 return node; 519} 520 |
521/* --------------------------------------------------------------------- 522 * USER AND KERNEL DEFINITIONS 523 * --------------------------------------------------------------------- */ 524 525/* 526 * This structure is used to communicate mount parameters between userland 527 * and kernel space. 528 */ 529#define TMPFS_ARGS_VERSION 1 530struct tmpfs_args { 531 int ta_version; 532 533 /* Size counters. */ 534 ino_t ta_nodes_max; 535 off_t ta_size_max; 536 537 /* Root node attributes. */ 538 uid_t ta_root_uid; 539 gid_t ta_root_gid; 540 mode_t ta_root_mode; 541 542}; | |
543#endif /* _FS_TMPFS_TMPFS_H_ */ | 521#endif /* _FS_TMPFS_TMPFS_H_ */ |