From 298746b9583cf9b70efa5de03a366076e45cfcff Mon Sep 17 00:00:00 2001 From: Zhao Lei Date: Wed, 26 Aug 2015 22:03:38 +0800 Subject: [PATCH] btrfs-progs: Fix wrong return value of wait_for_subvolume_cleaning() Reproduce: # btrfs subvolume sync /mnt/btrfs Subvolume id 323 is gone # echo $? 1 # Reason: wait_for_subvolume_cleaning() return !0 in right case, because value of ret is set to "is subvolume clean" state before return. Signed-off-by: Zhao Lei Signed-off-by: David Sterba --- cmds-subvolume.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmds-subvolume.c b/cmds-subvolume.c index fd4de847..d2e37bba 100644 --- a/cmds-subvolume.c +++ b/cmds-subvolume.c @@ -66,7 +66,7 @@ static int is_subvolume_cleaned(int fd, u64 subvolid) static int wait_for_subvolume_cleaning(int fd, int count, u64 *ids, int sleep_interval) { - int ret = 0; + int ret; int remaining; int i; @@ -92,6 +92,8 @@ static int wait_for_subvolume_cleaning(int fd, int count, u64 *ids, break; sleep(sleep_interval); } + + ret = 0; out: return ret; }