Thomas Gleixner | 68252eb | 2019-05-20 19:08:00 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
Phillip Lougher | ffae2cd | 2009-01-05 08:46:27 +0000 | [diff] [blame] | 2 | #ifndef SQUASHFS_FS_I |
| 3 | #define SQUASHFS_FS_I |
| 4 | /* |
| 5 | * Squashfs |
| 6 | * |
| 7 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
Phillip Lougher | d7f2ff6 | 2011-05-26 10:39:56 +0100 | [diff] [blame] | 8 | * Phillip Lougher <phillip@squashfs.org.uk> |
Phillip Lougher | ffae2cd | 2009-01-05 08:46:27 +0000 | [diff] [blame] | 9 | * |
Phillip Lougher | ffae2cd | 2009-01-05 08:46:27 +0000 | [diff] [blame] | 10 | * squashfs_fs_i.h |
| 11 | */ |
| 12 | |
| 13 | struct squashfs_inode_info { |
| 14 | u64 start; |
| 15 | int offset; |
Phillip Lougher | f41d207cb | 2010-05-17 03:17:04 +0100 | [diff] [blame] | 16 | u64 xattr; |
| 17 | unsigned int xattr_size; |
| 18 | int xattr_count; |
Phillip Lougher | ffae2cd | 2009-01-05 08:46:27 +0000 | [diff] [blame] | 19 | union { |
| 20 | struct { |
| 21 | u64 fragment_block; |
| 22 | int fragment_size; |
| 23 | int fragment_offset; |
| 24 | u64 block_list_start; |
| 25 | }; |
| 26 | struct { |
| 27 | u64 dir_idx_start; |
| 28 | int dir_idx_offset; |
| 29 | int dir_idx_cnt; |
| 30 | int parent; |
| 31 | }; |
| 32 | }; |
| 33 | struct inode vfs_inode; |
| 34 | }; |
Phillip Lougher | 8fcd972 | 2011-01-06 06:08:50 +0000 | [diff] [blame] | 35 | |
| 36 | |
| 37 | static inline struct squashfs_inode_info *squashfs_i(struct inode *inode) |
| 38 | { |
Rasmus Villemoes | db6172c | 2015-03-19 12:28:04 +0100 | [diff] [blame] | 39 | return container_of(inode, struct squashfs_inode_info, vfs_inode); |
Phillip Lougher | 8fcd972 | 2011-01-06 06:08:50 +0000 | [diff] [blame] | 40 | } |
Phillip Lougher | ffae2cd | 2009-01-05 08:46:27 +0000 | [diff] [blame] | 41 | #endif |