• A
    f2fs: hide a maybe-uninitialized warning · 230436b3
    Arnd Bergmann 提交于
    gcc is unsure about the use of last_ofs_in_node, which might happen
    without a prior initialization:
    
    fs/f2fs//git/arm-soc/fs/f2fs/data.c: In function ‘f2fs_map_blocks’:
    fs/f2fs/data.c:799:54: warning: ‘last_ofs_in_node’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       if (prealloc && dn.ofs_in_node != last_ofs_in_node + 1) {
    
    As pointed out by Chao Yu, the code is actually correct as 'prealloc'
    is only set if the last_ofs_in_node has been set, the two always
    get updated together.
    
    This initializes last_ofs_in_node to dn.ofs_in_node for each
    new dnode at the start of the 'next_block' loop, which at that
    point is a correct initialization as well. I assume that compilers
    that correctly track the contents of the variables and do not
    warn about the condition also figure out that they can eliminate
    the extra assignment here.
    
    Fixes: 46008c6d ("f2fs: support in batch multi blocks preallocation")
    Signed-off-by: NArnd Bergmann <arnd@arndb.de>
    Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
    230436b3
data.c 45.9 KB