BTRFS_IOC_QGROUP_ASSIGN ioctl could return >0 if qgroup is marked
inconsistent after successful relationship assignment/removal.

We leak the return value as the final return value of btrfs command.
But according to the man page, return value other than 0 means failure.

Fix this by resetting the return value to 0 for --no-rescan case.

Signed-off-by: Qu Wenruo <w...@suse.com>
---
 cmds-qgroup.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/cmds-qgroup.c b/cmds-qgroup.c
index b928edc7c408..7234bdc17bb4 100644
--- a/cmds-qgroup.c
+++ b/cmds-qgroup.c
@@ -123,6 +123,7 @@ static int _cmd_qgroup_assign(int assign, int argc, char 
**argv,
                                error("quota rescan failed: %m");
                } else {
                        warning("quotas may be inconsistent, rescan needed");
+                       ret = 0;
                }
        }
        close_file_or_dir(fd, dirstream);
-- 
2.18.0

Reply via email to