mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
btrfs: remove 32bit compat code for VFS inode number
Commit 0b2600f81c ("treewide: change inode->i_ino from unsigned long
to u64") sets the inode number type to u64 unconditionally, so we can
use it directly as there's no difference on 32bit and 64bit platform. We
used to have a copy of the number in our btrfs_inode.
The size of btrfs_inode on 32bit platform is about 688 bytes (after the
change).
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
d8d89ba2e5
commit
5127e497bd
|
|
@ -128,15 +128,6 @@ struct btrfs_inode {
|
|||
/* which subvolume this inode belongs to */
|
||||
struct btrfs_root *root;
|
||||
|
||||
#if BITS_PER_LONG == 32
|
||||
/*
|
||||
* The objectid of the corresponding BTRFS_INODE_ITEM_KEY.
|
||||
* On 64 bits platforms we can get it from vfs_inode.i_ino, which is an
|
||||
* unsigned long and therefore 64 bits on such platforms.
|
||||
*/
|
||||
u64 objectid;
|
||||
#endif
|
||||
|
||||
/* Cached value of inode property 'compression'. */
|
||||
u8 prop_compress;
|
||||
|
||||
|
|
@ -372,30 +363,11 @@ static inline unsigned long btrfs_inode_hash(u64 objectid,
|
|||
return (unsigned long)h;
|
||||
}
|
||||
|
||||
#if BITS_PER_LONG == 32
|
||||
|
||||
/*
|
||||
* On 32 bit systems the i_ino of struct inode is 32 bits (unsigned long), so
|
||||
* we use the inode's location objectid which is a u64 to avoid truncation.
|
||||
*/
|
||||
static inline u64 btrfs_ino(const struct btrfs_inode *inode)
|
||||
{
|
||||
u64 ino = inode->objectid;
|
||||
|
||||
if (test_bit(BTRFS_INODE_ROOT_STUB, &inode->runtime_flags))
|
||||
ino = inode->vfs_inode.i_ino;
|
||||
return ino;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static inline u64 btrfs_ino(const struct btrfs_inode *inode)
|
||||
{
|
||||
return inode->vfs_inode.i_ino;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static inline void btrfs_get_inode_key(const struct btrfs_inode *inode,
|
||||
struct btrfs_key *key)
|
||||
{
|
||||
|
|
@ -406,9 +378,6 @@ static inline void btrfs_get_inode_key(const struct btrfs_inode *inode,
|
|||
|
||||
static inline void btrfs_set_inode_number(struct btrfs_inode *inode, u64 ino)
|
||||
{
|
||||
#if BITS_PER_LONG == 32
|
||||
inode->objectid = ino;
|
||||
#endif
|
||||
inode->vfs_inode.i_ino = ino;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -458,7 +458,7 @@ static int rollback_verity(struct btrfs_inode *inode)
|
|||
if (ret) {
|
||||
btrfs_handle_fs_error(root->fs_info, ret,
|
||||
"failed to drop verity items in rollback %llu",
|
||||
(u64)inode->vfs_inode.i_ino);
|
||||
inode->vfs_inode.i_ino);
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
|
@ -472,7 +472,7 @@ static int rollback_verity(struct btrfs_inode *inode)
|
|||
trans = NULL;
|
||||
btrfs_handle_fs_error(root->fs_info, ret,
|
||||
"failed to start transaction in verity rollback %llu",
|
||||
(u64)inode->vfs_inode.i_ino);
|
||||
inode->vfs_inode.i_ino);
|
||||
goto out;
|
||||
}
|
||||
inode->ro_flags &= ~BTRFS_INODE_RO_VERITY;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user