In article 199801202125.NAA26037@tooting.netapp.com, Rajesh Sundaram rajeshs@netapp.com wrote:
attribution missing, but someone@cdsnet.net wrote:
I just created some new users, and the filer (running 4.3R4D1) is reporting that they've used:
user 506 9840 41943040 1292 10485760 user 1001 4294966368 41943040 22 10485760 user@web 1001 4294966408 25600 18 1000 user 1003 4294967260 41943040 1 10485760 user@web 1003 4294967260 25600 0 1000 user 1004 4294967260 41943040 1 10485760 user@web 1004 4294967260 25600 0 1000
which is flatly impossible, the users were just created and assigned. yet it thinks the disk space usage is all used up.
We have been seeing the same thing last week. We fixed it by putting a (root-owner) file in the users' homedirectory, then chowning that file to the user, making their disk usage positive again.
Are default quotas being used here? If that's the case, this is likely to be the bug with operations running as root that others in the list have pointed out.
Default quotas trigger the creation of quotas when a user first uses an inode or a data block (by creating a file, for example). This should happen even when the file is created as root and then "chown"ed to the user. This currently fails to happen.
Here is the description from the bug report which should soon get added to the bugs online list on NOW.
TITLE: Derived quotas do not get created for operations running as root, causing usage decrepancies.
We upgraded to 4.3R4D2, which apparently fixed it. At least, I haven't seen "negative" disk usages in almost a day, whereas our previous version (4.3R4D1) would have had some by now.
What's even weirder is that I can create directories all day, and no errors, only files cause problems. yet the dirs are owned by user 1001, etc.
Toasters do not count directory blocks as disk usage, so directories can't be affected by this bug.
-- #! ##### Jan-Pieter Cornet ##### johnpc@xs4all.net ##### perl ++$_;$!=$_+++$_;($:,$,,$/,$*)=$!=~/.(.)...(.)(.).(.)/;$!=$_+$_; ($@,$,$~)=$!=~/(.)(.).(.)/; $_="$,$/$:"; $@++; $~="$~$_";($_)= $$=~/((.)/;$|=++$_;$_++;$|++;$~="$~ $@$:";`$~$/$$*$, $|>&$_`