author | Mark Shellenbaum <Mark.Shellenbaum@Sun.COM> |
Tue, 16 Mar 2010 09:43:38 -0600 | |
changeset 11935 | 538c866aaac6 |
parent 9396 | f41cf682d0d3 |
permissions | -rw-r--r-- |
3912 | 1 |
/* |
2 |
* GRUB -- GRand Unified Bootloader |
|
3 |
* Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc. |
|
4 |
* |
|
5 |
* This program is free software; you can redistribute it and/or modify |
|
6 |
* it under the terms of the GNU General Public License as published by |
|
7 |
* the Free Software Foundation; either version 2 of the License, or |
|
8 |
* (at your option) any later version. |
|
9 |
* |
|
10 |
* This program is distributed in the hope that it will be useful, |
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
13 |
* GNU General Public License for more details. |
|
14 |
* |
|
15 |
* You should have received a copy of the GNU General Public License |
|
16 |
* along with this program; if not, write to the Free Software |
|
17 |
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|
18 |
*/ |
|
19 |
/* |
|
11935
538c866aaac6
6716117 ZFS needs native system attribute infrastructure
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM>
parents:
9396
diff
changeset
|
20 |
* Copyright 2010 Sun Microsystems, Inc. All rights reserved. |
3912 | 21 |
* Use is subject to license terms. |
22 |
*/ |
|
23 |
||
24 |
#ifndef _SYS_FS_ZFS_ZNODE_H |
|
25 |
#define _SYS_FS_ZFS_ZNODE_H |
|
26 |
||
27 |
#define MASTER_NODE_OBJ 1 |
|
28 |
#define ZFS_ROOT_OBJ "ROOT" |
|
4577 | 29 |
#define ZPL_VERSION_STR "VERSION" |
11935
538c866aaac6
6716117 ZFS needs native system attribute infrastructure
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM>
parents:
9396
diff
changeset
|
30 |
#define ZFS_SA_ATTRS "SA_ATTRS" |
4577 | 31 |
|
11935
538c866aaac6
6716117 ZFS needs native system attribute infrastructure
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM>
parents:
9396
diff
changeset
|
32 |
#define ZPL_VERSION 5ULL |
4577 | 33 |
|
34 |
#define ZFS_DIRENT_OBJ(de) BF64_GET(de, 0, 48) |
|
3912 | 35 |
|
36 |
/* |
|
37 |
* This is the persistent portion of the znode. It is stored |
|
38 |
* in the "bonus buffer" of the file. Short symbolic links |
|
39 |
* are also stored in the bonus buffer. |
|
40 |
*/ |
|
41 |
typedef struct znode_phys { |
|
42 |
uint64_t zp_atime[2]; /* 0 - last file access time */ |
|
43 |
uint64_t zp_mtime[2]; /* 16 - last file modification time */ |
|
44 |
uint64_t zp_ctime[2]; /* 32 - last file change time */ |
|
45 |
uint64_t zp_crtime[2]; /* 48 - creation time */ |
|
46 |
uint64_t zp_gen; /* 64 - generation (txg of creation) */ |
|
47 |
uint64_t zp_mode; /* 72 - file mode bits */ |
|
48 |
uint64_t zp_size; /* 80 - size of file */ |
|
49 |
uint64_t zp_parent; /* 88 - directory parent (`..') */ |
|
50 |
uint64_t zp_links; /* 96 - number of links to file */ |
|
51 |
uint64_t zp_xattr; /* 104 - DMU object for xattrs */ |
|
52 |
uint64_t zp_rdev; /* 112 - dev_t for VBLK & VCHR files */ |
|
53 |
uint64_t zp_flags; /* 120 - persistent flags */ |
|
54 |
uint64_t zp_uid; /* 128 - file owner */ |
|
55 |
uint64_t zp_gid; /* 136 - owning group */ |
|
56 |
uint64_t zp_pad[4]; /* 144 - future */ |
|
57 |
zfs_znode_acl_t zp_acl; /* 176 - 263 ACL */ |
|
58 |
/* |
|
59 |
* Data may pad out any remaining bytes in the znode buffer, eg: |
|
60 |
* |
|
61 |
* |<---------------------- dnode_phys (512) ------------------------>| |
|
62 |
* |<-- dnode (192) --->|<----------- "bonus" buffer (320) ---------->| |
|
63 |
* |<---- znode (264) ---->|<---- data (56) ---->| |
|
64 |
* |
|
65 |
* At present, we only use this space to store symbolic links. |
|
66 |
*/ |
|
67 |
} znode_phys_t; |
|
68 |
||
69 |
#endif /* _SYS_FS_ZFS_ZNODE_H */ |