Hello.
So I've finally written quotas for reiserfs (sorry it took so long).
First I have few notes about things I think might be bugs in reiserfs:
i_blksize initialized twice in reiserfs_new_inode() - PAGE_SIZE should be right.
i_nlink should be set to 0 when we fail in reiserfs_new_inode(). Otherwise
inode never gets deleted (and so among other things we have quota leak...).
One unimportant (code is currently behind #if 0):
In get_new_buffer_near_blocknr() should rather be called reiserfs_new_unf_blocknrs()
than
reiserfs_new_blocknrs().
In reiserfs_get_block() when reiserfs_new_unf_blocknrs() returns something like
IO error we continue but we should rather return with an error...
And now to quotas: Currently chown and chgrp and also quotacheck doesn't work
well as we have no way of counting used space by inode in bytes. I will probably
create new entry in inode but at first I'd like to hear some comments from
other hackers... Other things should work reasonably well. Currently only
bodies of items are accounted to disk quota as number of items (and so space
spent on headers) might change during balancing and it wouldn't be nice to mess
with it :) Also number of files is accounted as number of inodes. I don't
say anybody will use it but why should we have unused capacity :-).
All patches are currently against 2.4.0-test3.
quota-patch-2.4.0-test3.diff is patch for new quotafile format which is needed
for byte allocation.
reiserquota-patch-2.4.0-test3.diff is patch for quota to reiserfs.
quota-3.00.tar.gz is package with utilities working with quotafiles with new
format.
Patches are currently at: ftp://atrey.karlin.mff.cuni.cz/ftp/pub/local/jack/quota/
quotafile patch in directory v2.4/
reiserfs patch in directory reiserfs/
utilities in directory utils/
I'll also put the things on suse.cz ftp when I find how ;-) (probably on tuesday).
Awaiting bug reports :)
Bye
Honza