backref.h (1f422417945d08731e2915e0addb976f11b3a85a) | backref.h (a37f232b7b65789cadc9834d389f6390de11b583) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Copyright (C) 2011 STRATO. All rights reserved. 4 */ 5 6#ifndef BTRFS_BACKREF_H 7#define BTRFS_BACKREF_H 8 --- 64 unchanged lines hidden (view full) --- 73 struct btrfs_key key_for_search; 74 int level; 75 int count; 76 struct extent_inode_elem *inode_list; 77 u64 parent; 78 u64 wanted_disk_byte; 79}; 80 | 1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Copyright (C) 2011 STRATO. All rights reserved. 4 */ 5 6#ifndef BTRFS_BACKREF_H 7#define BTRFS_BACKREF_H 8 --- 64 unchanged lines hidden (view full) --- 73 struct btrfs_key key_for_search; 74 int level; 75 int count; 76 struct extent_inode_elem *inode_list; 77 u64 parent; 78 u64 wanted_disk_byte; 79}; 80 |
81/* 82 * Iterate backrefs of one extent. 83 * 84 * Now it only supports iteration of tree block in commit root. 85 */ 86struct btrfs_backref_iter { 87 u64 bytenr; 88 struct btrfs_path *path; 89 struct btrfs_fs_info *fs_info; 90 struct btrfs_key cur_key; 91 u32 item_ptr; 92 u32 cur_ptr; 93 u32 end_ptr; 94}; 95 96struct btrfs_backref_iter *btrfs_backref_iter_alloc( 97 struct btrfs_fs_info *fs_info, gfp_t gfp_flag); 98 99static inline void btrfs_backref_iter_free(struct btrfs_backref_iter *iter) 100{ 101 if (!iter) 102 return; 103 btrfs_free_path(iter->path); 104 kfree(iter); 105} 106 107int btrfs_backref_iter_start(struct btrfs_backref_iter *iter, u64 bytenr); 108 109static inline void btrfs_backref_iter_release(struct btrfs_backref_iter *iter) 110{ 111 iter->bytenr = 0; 112 iter->item_ptr = 0; 113 iter->cur_ptr = 0; 114 iter->end_ptr = 0; 115 btrfs_release_path(iter->path); 116 memset(&iter->cur_key, 0, sizeof(iter->cur_key)); 117} 118 |
|
81#endif | 119#endif |