On Mon, Aug 31, 2015 at 09:44:49AM +0800, Qu Wenruo wrote: > >> >From the perspective of users, qgroup's referenced or exclusive > >> is negative,but user can not continue to write data! a workaround > >> way is to cast u64 to s64 when doing qgroup reservation > > > >I am unable to reproduce this problem without his modification. > >I could be wrong in reverting this, so I'm gonna CC Wang as well so > >he is aware of this patch. > > The cast is a workaround for a quite old qgroup bug, which will > cause excl/rfer overflow to minus. > > The remove of cast rfer/exel now is OK, as qgroup keeps maturing, > especially after 4.2-rc1 rfer/exel will keep sane under most case > (exception will be qgroup reassign and subvolume deletion, but will > not case minus value even under than case). rfer/exel and reserved are all of type unsigned int, how exactly would they overflow to minus? > > But I'm not a fan to remove it now. > As qgroup still has a known huge bug for the qg->reserved part, we > are aware of it and working on it actively. Can you tell me more about this known huge bug and how you can reproduce it using the present implementation? -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
