[lkml]   [2002]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectQuota patches

    In following mails I'll send (because patches are big, I'll post them just
    diretly to Linus - others see ftp below) quota patches for 2.5.15 (patches
    apply well on 2.5.16 too). Currently they implement:
    * new quota format (allows 32 uids, accounting in bytes -> mainly for
    * needed infrastructure for XFS quota
    * quota statistics in /proc (we can drop Q_GETSTATS call; it's a lot
    easier to change in future)
    * implements correct syncing of quota
    * introduces interface which allows usage of both quota formats in kernel
    * implemented filesystem callback function on certain quota operations
    (needed for journaled quota, Ext3)
    * implements ioctl() for reporting occupied space in bytes (not just blocks)

    The patches can be downloaded at:

    Old quota tools should work with patches if you configure old quota interface
    in '.config'. There are also quota utilities capable of communicating with new
    generic interface. You can download them at:

    or you can checkout version from SourceForge CVS.

    Any comments & bugreports welcome.


    Below is a bit more detailed list of changes:
    The changes are split into 13 parts (should I create one empty patch? ;-)):
    quota-2.5.15-1-newlocks - this patch changes counting of references on dquot structures
    so filesystem can be sure we never call it during DQUOT_ALLOC/DQUOT_FREE/..
    quota-2.5.15-2-formats - this patch removes most format dependent code from dquot.c
    and quota.h and puts calls of callback functions instead
    quota-2.5.15-3-register - this patch implements registering/unregistering of quota
    quota-2.5.15-4-getstats - this patch removes Q_GETSTATS call and creates /proc/fs/quota
    entry instead
    quota-2.5.15-5-bytes - implements accounting of used space in bytes on quota side
    quota-2.5.15-6-bytes - implements accounting of used space in bytes on VFS side -
    - neccessary functions are added to fs.h
    quota-2.5.15-7-quotactl - implementation of generic quotactl interface (probably the
    biggest patch). Interface is moved from dquot.c to quota.c file. Pointers
    to quota operations in superblock are now not filled on quota_on() but
    on mount so filesystem can override them (for example ext3 would like to
    check on quota_on() that quotafile lies on proper device and turn on
    data-journaling on it - at least when we'll have journaled quota :)).
    quota-2.5.15-8-format1 - implementation of old quota format (mainly moved stuff from
    dquot.c + some interface functions)
    quota-2.5.15-9-format2 - implementation of new quota format (mainly just copied from
    patches used in -ac kernels)
    quota-2.5.15-10-inttype - replace silly usage of 'short' by 'int'
    quota-2.5.15-11-sync - implements correct syncing of quota - also quota info stored
    in superblock is stored (here 2.4.18 and 2.5.6 patches significantly differ
    - in 2.5.6 it's a bit simplier to do it)
    quota-2.5.15-12-compat - implements backward compatible quotactl() interface. It's
    configurable whether it should be used at all and whether is should behave
    as interface in Linus's (the oldest interface) or Alan's (old interface for
    new quota format) kernel.
    quota-2.5.15-13-ioctl - implements ioctl for getting file size in bytes. I placed
    this patch as the last one because I consider it ugly to create ioctl() for
    such thing (changing stat() would be cleaner but this change isn't probably
    important enough for it to be worth yet another stat() change). So if it
    is decided the patch won't be included there won't be problems...

    Jan Kara <>
    SuSE CR Labs
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:26    [W:0.048 / U:7.832 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site