blob: 2c82d6f2a4561b4b61a7e30285b89375bdd1cbe8 [file] [log] [blame]
Thomas Gleixner68252eb2019-05-20 19:08:00 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Phillip Lougherffae2cd2009-01-05 08:46:27 +00002#ifndef SQUASHFS_FS_I
3#define SQUASHFS_FS_I
4/*
5 * Squashfs
6 *
7 * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008
Phillip Lougherd7f2ff62011-05-26 10:39:56 +01008 * Phillip Lougher <phillip@squashfs.org.uk>
Phillip Lougherffae2cd2009-01-05 08:46:27 +00009 *
Phillip Lougherffae2cd2009-01-05 08:46:27 +000010 * squashfs_fs_i.h
11 */
12
13struct squashfs_inode_info {
14 u64 start;
15 int offset;
Phillip Lougherf41d207cb2010-05-17 03:17:04 +010016 u64 xattr;
17 unsigned int xattr_size;
18 int xattr_count;
Phillip Lougherffae2cd2009-01-05 08:46:27 +000019 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 Lougher8fcd9722011-01-06 06:08:50 +000035
36
37static inline struct squashfs_inode_info *squashfs_i(struct inode *inode)
38{
Rasmus Villemoesdb6172c2015-03-19 12:28:04 +010039 return container_of(inode, struct squashfs_inode_info, vfs_inode);
Phillip Lougher8fcd9722011-01-06 06:08:50 +000040}
Phillip Lougherffae2cd2009-01-05 08:46:27 +000041#endif