aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_dir_sf.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_dir_sf.h')
-rw-r--r--fs/xfs/xfs_dir_sf.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/fs/xfs/xfs_dir_sf.h b/fs/xfs/xfs_dir_sf.h
index fe44c6f4d560..5b20b4d3f57d 100644
--- a/fs/xfs/xfs_dir_sf.h
+++ b/fs/xfs/xfs_dir_sf.h
@@ -35,19 +35,21 @@ typedef struct { __uint8_t i[sizeof(xfs_ino_t)]; } xfs_dir_ino_t;
35 * and the elements much be memcpy'd out into a work area to get correct 35 * and the elements much be memcpy'd out into a work area to get correct
36 * alignment for the inode number fields. 36 * alignment for the inode number fields.
37 */ 37 */
38typedef struct xfs_dir_sf_hdr { /* constant-structure header block */
39 xfs_dir_ino_t parent; /* parent dir inode number */
40 __uint8_t count; /* count of active entries */
41} xfs_dir_sf_hdr_t;
42
43typedef struct xfs_dir_sf_entry {
44 xfs_dir_ino_t inumber; /* referenced inode number */
45 __uint8_t namelen; /* actual length of name (no NULL) */
46 __uint8_t name[1]; /* name */
47} xfs_dir_sf_entry_t;
48
38typedef struct xfs_dir_shortform { 49typedef struct xfs_dir_shortform {
39 struct xfs_dir_sf_hdr { /* constant-structure header block */ 50 xfs_dir_sf_hdr_t hdr;
40 xfs_dir_ino_t parent; /* parent dir inode number */ 51 xfs_dir_sf_entry_t list[1]; /* variable sized array */
41 __uint8_t count; /* count of active entries */
42 } hdr;
43 struct xfs_dir_sf_entry {
44 xfs_dir_ino_t inumber; /* referenced inode number */
45 __uint8_t namelen; /* actual length of name (no NULL) */
46 __uint8_t name[1]; /* name */
47 } list[1]; /* variable sized array */
48} xfs_dir_shortform_t; 52} xfs_dir_shortform_t;
49typedef struct xfs_dir_sf_hdr xfs_dir_sf_hdr_t;
50typedef struct xfs_dir_sf_entry xfs_dir_sf_entry_t;
51 53
52/* 54/*
53 * We generate this then sort it, so that readdirs are returned in 55 * We generate this then sort it, so that readdirs are returned in