1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
/*
* A Non implementation of disk quotas. Chainsawed from dquot.c by
* Alan Cox <alan@lxorguk.ukuu.org.uk>. This saves us memory without
* having zillions of #ifdefs (Or if it had been done right one
*
* QUOTA_OP(inode,func)
*
* macro.)
*/
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/types.h>
#include <linux/string.h>
#include <linux/fcntl.h>
#include <linux/stat.h>
#include <linux/tty.h>
#include <linux/malloc.h>
#include <linux/mount.h>
#include <asm/segment.h>
#ifndef min
#define min(a,b) ((a) < (b)) ? (a) : (b)
#endif
int sync_dquots(kdev_t dev, short type)
{
return(0);
}
/*
* Trash the cache for a certain type on a device.
*/
void invalidate_dquots(kdev_t dev, short type)
{
}
/*
* Initialize pointer in a inode to the right dquots.
*/
void dquot_initialize(struct inode *inode, short type)
{
}
void dquot_drop(struct inode *inode)
{
}
void dquot_init(void)
{
}
/*
* Turn quota off on a device. type == -1 ==> quotaoff for all types (umount)
*/
int quota_off(kdev_t dev, short type)
{
return(0);
}
int quota_on(kdev_t dev, short type, char *path)
{
return(-ENOPKG);
}
/*
* Ok this is the systemcall interface, this communicates with
* the userlevel programs. Currently this only supports diskquota
* calls. Maybe we need to add the process quotas etc in the future.
* But we probably better use rlimits for that.
*/
asmlinkage int sys_quotactl(int cmd, const char *special, int id, caddr_t addr)
{
return(-ENOPKG);
}
|