1/*- 2 * Copyright (c) 2012, 2010 Zheng Liu <lz@freebsd.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/fs/ext2fs/ext2_extents.h 295523 2016-02-11 15:27:14Z pfg $ |
27 */ 28#ifndef _FS_EXT2FS_EXT2_EXTENTS_H_ 29#define _FS_EXT2FS_EXT2_EXTENTS_H_ 30 31#include <sys/types.h> 32 33#define EXT4_EXT_MAGIC 0xf30a 34 --- 44 unchanged lines hidden (view full) --- 79}; 80 81/* 82 * Save path to some extent. 83 */ 84struct ext4_extent_path { 85 uint16_t ep_depth; 86 struct buf *ep_bp; |
87 bool ep_is_sparse; |
88 union { 89 struct ext4_extent ep_sparse_ext; 90 struct ext4_extent *ep_ext; 91 }; 92 struct ext4_extent_index *ep_index; 93 struct ext4_extent_header *ep_header; 94}; 95 96struct inode; 97struct m_ext2fs; 98int ext4_ext_in_cache(struct inode *, daddr_t, struct ext4_extent *); 99void ext4_ext_put_cache(struct inode *, struct ext4_extent *, int); 100struct ext4_extent_path *ext4_ext_find_extent(struct m_ext2fs *fs, 101 struct inode *, daddr_t, struct ext4_extent_path *); 102 103#endif /* !_FS_EXT2FS_EXT2_EXTENTS_H_ */ |