btrfs: silence maybe-uninitialized warning in clone_range
authorAustin Kim <austindh.kim@gmail.com>
Tue, 3 Sep 2019 03:30:19 +0000 (12:30 +0900)
committerDavid Sterba <dsterba@suse.com>
Tue, 8 Oct 2019 11:14:55 +0000 (13:14 +0200)
commit431d39887d6273d6d84edf3c2eab09f4200e788a
tree4381cdf00dbe5ba98f62c6080626a2f0c56632cb
parentc5f4987e86f6692fdb12533ea1fc7a7bb98e555a
btrfs: silence maybe-uninitialized warning in clone_range

GCC throws warning message as below:

‘clone_src_i_size’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
 #define IS_ALIGNED(x, a)  (((x) & ((typeof(x))(a) - 1)) == 0)
                       ^
fs/btrfs/send.c:5088:6: note: ‘clone_src_i_size’ was declared here
 u64 clone_src_i_size;
   ^
The clone_src_i_size is only used as call-by-reference
in a call to get_inode_info().

Silence the warning by initializing clone_src_i_size to 0.

Note that the warning is a false positive and reported by older versions
of GCC (eg. 7.x) but not eg 9.x. As there have been numerous people, the
patch is applied. Setting clone_src_i_size to 0 does not otherwise make
sense and would not do any action in case the code changes in the future.

Signed-off-by: Austin Kim <austindh.kim@gmail.com>
Reviewed-by: David Sterba <dsterba@suse.com>
[ add note ]
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/send.c