Klaus Schmidinger schrieb:
On 03/23/08 10:46, Manfred Schmidt-Voigt wrote:
Manfred Schmidt-Voigt schrieb:
Hello List,
I have a diskless VDR machine in my livingroom (so its very quit). My /video is mounted by nfs from a Servermachine under the roof. On that server I have set a groupquota for that /video directory to save some place for other applikations on that filesystem (raid 5 - 4x400G).
I have exeeded now the space on that filesystem for that group and in the syslog of the VDR I can see related messages.
Example: Mar 9 08:52:32 stereo vdr: [4167] switching device 1 to channel 1 Mar 9 08:52:32 stereo vdr: [4167] timer 18 (1 0852-1152 '@TITLE EPISODE') start Mar 9 08:52:32 stereo vdr: [4167] Title: 'Tigerenten Club' Subtitle: 'Der Club zum Mitmachen' Mar 9 08:52:32 stereo vdr: [4167] record /video/@Tigerenten_Club_Der_Club_zum_Mitmachen/2008-03-09.08.52.50.99.rec Mar 9 08:52:32 stereo vdr: [4167] creating directory /video/@Tigerenten_Club_Der_Club_zum_Mitmachen Mar 9 08:52:32 stereo vdr: [4167] ERROR: /video/@Tigerenten_Club_Der_Club_zum_Mitmachen: Disk quota exceeded
But the VDR Software doesn't recognize that. It does not start to mark old recording for removing. In the menu overview it show still some hours free space util the end of the complete filesystem.
Now my question: Do I have to configure something special in VDR that it recognizes the Quota setting of that directory or have I to use userquota for the user of VDR (in my case it is root but if it is the only solution I could change it to a regular user, but only if it helps for my problem)?
Some revision data: VDR 1.4.5 ( yes, I'm waiting for 1.6 ) Debian Etch on both VDR and Server
Thank you Manfred
Hi List,
because nobody answers me I have to answer myself:
No, VDR is not able to follow Quota. It is looking only for the standard size parameters of the filesystem... ;-(
So I had to help myself. The outcome is a patch/hack for my current VDR Version 1.4.5. But it should be easy to apopt it also to newer versions. I have glued it together out of several GOOGLE sniplets. Maybe somebody can look over this patch who has more ability to code this according real C++ styles. I'm not used to progamm in C++. But for this little patch it was sufficient.
To use this you have to install the quota package on your server and maybe the quota-utils on your client. For your convenience I have included already the rquota-files into this patch. (I hope its according to any licenses)
Have fun Manfred
Sorry, but this is really too much to change for implementing quota handling. Besides, if an application actually needs to do this much to follow system quotas, doesn't this mean that apps that just don't care about quotas can do whatever they want?
Shouldn't the presence of quotas mean that *every* application sees only parameters that fit the current quota, without even "knowing" that it has been limited?
Klaus
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Applications, which do not care about quota, can not really do what they want, they only can not write to the filesystem if the quotalimit is reached. Thats what quota is made for. But if you would like to react on such a limit in a more intelligent way you have to ask for that limit and not only for the simple filesystem limit. statfs(..) only delivers the 'physical' limits of the filesystem. So vdr could not make new recordings when the limit is reached because it checks for the filesystemlimit. This value shows vdr to have enough space. So it never starts to delete old recordings.
I have changed the patch a little bit because there was a logical fault in it. But now it's for vdr-1.6.0. I have not tested the xfs part because currently I use only ext3 or nfs. So this should be tested maybe by somebody else or if you would like to implement such a logic into vdr leave it out or comment it out or do it your own way. The problem here is that by each kind of check of the different filesystems you receive different numberunits of something what is called a block. It seems so that all the people, which implements the quotalogic for the different filesystems, had a different thought what a block should look like...
Manfred