(Illustration by Gaich Muramatsu)
On Sat, Jul 17, 2004 at 11:33:11AM -0500, Troy Benjegerdes wrote: > On Fri, Jul 16, 2004 at 10:21:17PM -0400, Jan Harkes wrote: > > On Fri, Jul 16, 2004 at 03:29:53PM -0500, Troy Benjegerdes wrote: > > > On my linux-kernel torture test.. there seem to be some issues when the > > > quota fills up.. (but it is resolving a bunch of stuff) > > > > > > 15:24:33 RS_ForceFile: Error 122 in AdjustDiskUsage > > > > EDQUOT, quota exceeded. Interesting, both replicas are not in sync, some > > files probably exist on one, other files on the other replica. Both > > replicas are probably under quota, but we can't synchronize them because > > the union of the two would exceed our current quota. > > So, what would be the right thing to do in this case? I would think the > client should have a few more checks and block new file writes when it > thinks you are going to get over quota (maybe even blocking at 95% > quota, or something configurable). The client can't know how much quota is left on the servers. I can have a client with a 100MB cache, but there could be several GBs of quota available. And then some of the servers might be (temporarily) unreachable. The only 'right' thing that I can think of is to not enforce the quota check during resolution. So a user with a doubly replicated volume could end up using up to twice the quota amount, but that only happens when he first completely fills up one replica, and then fills up the other while never seeing both servers at any given time (a triply replicated volume would max out at three times quota). > I would also make the same argument for filling up a directory.. venus > should block file writes instead of dieing ;) I've been trying for a while to make it return a normal ENOSPC error code, but the error is clearly not propagated back all the way to userspace. > Also, is there a way to get 'cfs lv' to tell me what a specific server > thinks for disk/quota usage? How does it decide which server to look at? That is kind of random. I believe it actually asks all servers, but only displays the data of the server that responded first or something. JanReceived on 2004-07-22 22:36:28