16cbd5570SChris Mason /* 26cbd5570SChris Mason * Copyright (C) 2007 Oracle. All rights reserved. 36cbd5570SChris Mason * 46cbd5570SChris Mason * This program is free software; you can redistribute it and/or 56cbd5570SChris Mason * modify it under the terms of the GNU General Public 66cbd5570SChris Mason * License v2 as published by the Free Software Foundation. 76cbd5570SChris Mason * 86cbd5570SChris Mason * This program is distributed in the hope that it will be useful, 96cbd5570SChris Mason * but WITHOUT ANY WARRANTY; without even the implied warranty of 106cbd5570SChris Mason * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 116cbd5570SChris Mason * General Public License for more details. 126cbd5570SChris Mason * 136cbd5570SChris Mason * You should have received a copy of the GNU General Public 146cbd5570SChris Mason * License along with this program; if not, write to the 156cbd5570SChris Mason * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 166cbd5570SChris Mason * Boston, MA 021110-1307, USA. 176cbd5570SChris Mason */ 186cbd5570SChris Mason 192c90e5d6SChris Mason #ifndef __BTRFS_I__ 202c90e5d6SChris Mason #define __BTRFS_I__ 212c90e5d6SChris Mason 22f1ace244SAneesh /* in memory btrfs inode */ 232c90e5d6SChris Mason struct btrfs_inode { 24d6e4a428SChris Mason struct btrfs_root *root; 2531f3c99bSChris Mason struct btrfs_block_group_cache *block_group; 26d6e4a428SChris Mason struct btrfs_key location; 272c90e5d6SChris Mason struct inode vfs_inode; 28*15ee9bc7SJosef Bacik 29*15ee9bc7SJosef Bacik /* 30*15ee9bc7SJosef Bacik * transid of the trans_handle that last modified this inode 31*15ee9bc7SJosef Bacik */ 32*15ee9bc7SJosef Bacik u64 last_trans; 332c90e5d6SChris Mason }; 342c90e5d6SChris Mason static inline struct btrfs_inode *BTRFS_I(struct inode *inode) 352c90e5d6SChris Mason { 362c90e5d6SChris Mason return container_of(inode, struct btrfs_inode, vfs_inode); 372c90e5d6SChris Mason } 382c90e5d6SChris Mason 392c90e5d6SChris Mason #endif 40