From: David Sterba Date: Sat, 23 Sep 2017 19:00:41 +0000 (+0200) Subject: btrfs-progs: free-space-cache: fix endianity when reading from disk_key X-Git-Tag: upstream/4.16.1~397 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b4b069dcb22bd707775c3c649d77124ed006e39f;p=platform%2Fupstream%2Fbtrfs-progs.git btrfs-progs: free-space-cache: fix endianity when reading from disk_key Sparse reports: free-space-cache.c:921:13: warning: incorrect type in assignment (different base types) free-space-cache.c:921:13: expected unsigned long long [unsigned] [usertype] ino free-space-cache.c:921:13: got restricted __le64 [addressable] [usertype] objectid we need to use the helper to read objectid, as read_eb_member just copies the data without disk->cpu transformation. This could lead to bogus results on bigendian machines. Signed-off-by: David Sterba --- diff --git a/free-space-cache.c b/free-space-cache.c index 4bf4a6c..50356d0 100644 --- a/free-space-cache.c +++ b/free-space-cache.c @@ -918,7 +918,7 @@ int btrfs_clear_free_space_cache(struct btrfs_fs_info *fs_info, slot = path.slots[0]; sc_header = btrfs_item_ptr(node, slot, struct btrfs_free_space_header); btrfs_free_space_key(node, sc_header, &location); - ino = location.objectid; + ino = btrfs_disk_key_objectid(&location); /* Delete the free space header, as we have the ino to continue */ ret = btrfs_del_item(trans, tree_root, &path);