Deleted Added
full compact
inode.h (252103) inode.h (254260)
1/*-
2 * Copyright (c) 1982, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 18 unchanged lines hidden (view full) ---

27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 * @(#)inode.h 8.9 (Berkeley) 5/14/95
1/*-
2 * Copyright (c) 1982, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 18 unchanged lines hidden (view full) ---

27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 * @(#)inode.h 8.9 (Berkeley) 5/14/95
35 * $FreeBSD: head/sys/fs/ext2fs/inode.h 252103 2013-06-23 02:44:42Z pfg $
35 * $FreeBSD: head/sys/fs/ext2fs/inode.h 254260 2013-08-12 21:34:48Z pfg $
36 */
37
38#ifndef _FS_EXT2FS_INODE_H_
39#define _FS_EXT2FS_INODE_H_
40
36 */
37
38#ifndef _FS_EXT2FS_INODE_H_
39#define _FS_EXT2FS_INODE_H_
40
41#include <sys/param.h>
41#include <sys/lock.h>
42#include <sys/lock.h>
43#include <sys/mutex.h>
42#include <sys/queue.h>
43
44#include <sys/queue.h>
45
46#include <fs/ext2fs/ext2_extents.h>
47
44/*
45 * This must agree with the definition in <ufs/ufs/dir.h>.
46 */
47#define doff_t int32_t
48
49#define NDADDR 12 /* Direct addresses in inode. */
50#define NIADDR 3 /* Indirect addresses in inode. */
51

--- 29 unchanged lines hidden (view full) ---

81
82 uint32_t i_block_group;
83 uint32_t i_next_alloc_block;
84 uint32_t i_next_alloc_goal;
85
86 /* Fields from struct dinode in UFS. */
87 uint16_t i_mode; /* IFMT, permissions; see below. */
88 int16_t i_nlink; /* File link count. */
48/*
49 * This must agree with the definition in <ufs/ufs/dir.h>.
50 */
51#define doff_t int32_t
52
53#define NDADDR 12 /* Direct addresses in inode. */
54#define NIADDR 3 /* Indirect addresses in inode. */
55

--- 29 unchanged lines hidden (view full) ---

85
86 uint32_t i_block_group;
87 uint32_t i_next_alloc_block;
88 uint32_t i_next_alloc_goal;
89
90 /* Fields from struct dinode in UFS. */
91 uint16_t i_mode; /* IFMT, permissions; see below. */
92 int16_t i_nlink; /* File link count. */
93 uint32_t i_uid; /* File owner. */
94 uint32_t i_gid; /* File group. */
89 uint64_t i_size; /* File byte count. */
95 uint64_t i_size; /* File byte count. */
96 uint64_t i_blocks; /* Blocks actually held. */
90 int32_t i_atime; /* Last access time. */
91 int32_t i_mtime; /* Last modified time. */
92 int32_t i_ctime; /* Last inode change time. */
93 int32_t i_birthtime; /* Inode creation time. */
94 int32_t i_mtimensec; /* Last modified time. */
95 int32_t i_atimensec; /* Last access time. */
96 int32_t i_ctimensec; /* Last inode change time. */
97 int32_t i_birthnsec; /* Inode creation time. */
97 int32_t i_atime; /* Last access time. */
98 int32_t i_mtime; /* Last modified time. */
99 int32_t i_ctime; /* Last inode change time. */
100 int32_t i_birthtime; /* Inode creation time. */
101 int32_t i_mtimensec; /* Last modified time. */
102 int32_t i_atimensec; /* Last access time. */
103 int32_t i_ctimensec; /* Last inode change time. */
104 int32_t i_birthnsec; /* Inode creation time. */
105 uint32_t i_gen; /* Generation number. */
106 uint32_t i_flags; /* Status flags (chflags). */
98 uint32_t i_db[NDADDR]; /* Direct disk blocks. */
99 uint32_t i_ib[NIADDR]; /* Indirect disk blocks. */
107 uint32_t i_db[NDADDR]; /* Direct disk blocks. */
108 uint32_t i_ib[NIADDR]; /* Indirect disk blocks. */
100 uint32_t i_flags; /* Status flags (chflags). */
101 uint32_t i_blocks; /* Blocks actually held. */
102 uint32_t i_gen; /* Generation number. */
103 uint32_t i_uid; /* File owner. */
104 uint32_t i_gid; /* File group. */
109
110 struct ext4_extent_cache i_ext_cache; /* cache for ext4 extent */
105};
106
107/*
108 * The di_db fields may be overlaid with other information for
109 * file types that do not have associated disk storage. Block
110 * and character devices overlay the first data block with their
111 * dev_t value. Short symbolic links place their path in the
112 * di_db area.

--- 61 unchanged lines hidden ---
111};
112
113/*
114 * The di_db fields may be overlaid with other information for
115 * file types that do not have associated disk storage. Block
116 * and character devices overlay the first data block with their
117 * dev_t value. Short symbolic links place their path in the
118 * di_db area.

--- 61 unchanged lines hidden ---