Deleted Added
full compact
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_ */