a804254361
Now that we can verify all qgroups, we can write the corrected qgroups out to disk when '--repair' is specified. The qgroup status item is also updated to clear any out-of-date state. The repair_ functions were modeled after the inode repair code in cmds-check.c. I also renamed the 'scan' member of qgroup_status_item to 'rescan' in order to keep consistency with the kernel. Testing this was easy, I just reproduced qgroup inconsistencies via the usual routes and had btrfsck fix them. Signed-off-by: Mark Fasheh <mfasheh@suse.de> Signed-off-by: David Sterba <dsterba@suse.com>
33 lines
1 KiB
C
33 lines
1 KiB
C
/*
|
|
* Copyright (C) 2014 SUSE. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public
|
|
* License v2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public
|
|
* License along with this program; if not, write to the
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 021110-1307, USA.
|
|
*/
|
|
|
|
#ifndef __BTRFS_QGROUP_VERIFY_H__
|
|
#define __BTRFS_QGROUP_VERIFY_H__
|
|
|
|
#include "kerncompat.h"
|
|
#include "ctree.h"
|
|
|
|
int qgroup_verify_all(struct btrfs_fs_info *info);
|
|
void report_qgroups(int all);
|
|
int repair_qgroups(struct btrfs_fs_info *info, int *repaired);
|
|
|
|
int print_extent_state(struct btrfs_fs_info *info, u64 subvol);
|
|
|
|
void free_qgroup_counts(void);
|
|
|
|
#endif
|