diff options
Diffstat (limited to 'fs/btrfs/btrfs_inode.h')
| -rw-r--r-- | fs/btrfs/btrfs_inode.h | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h index 502b9e988679..d9f99a16edd6 100644 --- a/fs/btrfs/btrfs_inode.h +++ b/fs/btrfs/btrfs_inode.h @@ -176,7 +176,11 @@ static inline u64 btrfs_ino(struct inode *inode)  {  	u64 ino = BTRFS_I(inode)->location.objectid; -	if (ino <= BTRFS_FIRST_FREE_OBJECTID) +	/* +	 * !ino: btree_inode +	 * type == BTRFS_ROOT_ITEM_KEY: subvol dir +	 */ +	if (!ino || BTRFS_I(inode)->location.type == BTRFS_ROOT_ITEM_KEY)  		ino = inode->i_ino;  	return ino;  }  | 
