btrfs: fix uninitialized variable warning
authorDavid Sterba <dsterba@suse.cz>
Fri, 3 Jun 2011 14:29:08 +0000 (16:29 +0200)
committerChris Mason <chris.mason@oracle.com>
Sat, 4 Jun 2011 12:11:38 +0000 (08:11 -0400)
With Linus' tree, today's linux-next build (powercp ppc64_defconfig)
produced this warning:

fs/btrfs/delayed-inode.c: In function 'btrfs_delayed_update_inode':
fs/btrfs/delayed-inode.c:1598:6: warning: 'ret' may be used
uninitialized in this function

Introduced by commit 16cdcec736cd ("btrfs: implement delayed inode items
operation").

This fixes a bug in btrfs_update_inode(): if the returned value from
btrfs_delayed_update_inode is a nonzero garbage, inode stat data are not
updated and several call paths may hit a BUG_ON or fail with strange
code.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: David Sterba <dsterba@suse.cz>
fs/btrfs/delayed-inode.c

index c61c32cf0f71a1ce0929f99364996ba1f0ac885e..6462c29d2d37fcc8ec779f1d6d3b6817003a68c2 100644 (file)
@@ -1595,7 +1595,7 @@ int btrfs_delayed_update_inode(struct btrfs_trans_handle *trans,
                               struct btrfs_root *root, struct inode *inode)
 {
        struct btrfs_delayed_node *delayed_node;
-       int ret;
+       int ret = 0;
 
        delayed_node = btrfs_get_or_create_delayed_node(inode);
        if (IS_ERR(delayed_node))