Thanks for the review Josef, I will implement everything you mentioned. I have one question below though:
On Thu, Jun 19, 2014 at 03:25:12PM -0700, Josef Bacik wrote: > On 06/19/2014 02:49 PM, Mark Fasheh wrote: >> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c >> index 46f39bf..672d2a4 100644 >> --- a/fs/btrfs/extent-tree.c >> +++ b/fs/btrfs/extent-tree.c >> @@ -7472,6 +7703,9 @@ static noinline int do_walk_down(struct >> btrfs_trans_handle *trans, >> >> if (wc->stage == DROP_REFERENCE) { >> if (wc->refs[level - 1] > 1) { >> + account_shared_subtree(trans, root, next, generation, >> + level - 1); >> + > > We don't pay attention to the return value, we should probably abort the > transaction if there is a problem. Abort or log an error and continue? I ask because technically we could continue with the subvolume drop but obviously qgroup state will need to be fixed via a future rescan. I guess the question is which is more 'friendly' to the user. --Mark -- Mark Fasheh -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html