diff options
author | Nathan Scott <nathans@sgi.com> | 2005-06-21 01:38:48 -0400 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2005-06-21 01:38:48 -0400 |
commit | c8ad20ffeb592d66ea869c57f8c525a9d727c67b (patch) | |
tree | 3306edfe984170bc881a1d7fbeab29b4b59f0305 /fs/xfs/linux-2.6 | |
parent | 8401e9631c26dca9ebbc6997ac445fd49b06c79e (diff) |
[XFS] Add support for project quota, based on Dan Knappes earlier work.
SGI-PV: 932952
SGI-Modid: xfs-linux:xfs-kern:22805a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_linux.h | 6 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/fs/xfs/linux-2.6/xfs_linux.h b/fs/xfs/linux-2.6/xfs_linux.h index 71bb41019a12..44eb313f22b9 100644 --- a/fs/xfs/linux-2.6/xfs_linux.h +++ b/fs/xfs/linux-2.6/xfs_linux.h | |||
@@ -230,8 +230,10 @@ static inline void set_buffer_unwritten_io(struct buffer_head *bh) | |||
230 | * field (see the QCMD macro in quota.h). These macros help keep the | 230 | * field (see the QCMD macro in quota.h). These macros help keep the |
231 | * code portable - they are not visible from the syscall interface. | 231 | * code portable - they are not visible from the syscall interface. |
232 | */ | 232 | */ |
233 | #define Q_XSETGQLIM XQM_CMD(0x8) /* set groups disk limits */ | 233 | #define Q_XSETGQLIM XQM_CMD(8) /* set groups disk limits */ |
234 | #define Q_XGETGQUOTA XQM_CMD(0x9) /* get groups disk limits */ | 234 | #define Q_XGETGQUOTA XQM_CMD(9) /* get groups disk limits */ |
235 | #define Q_XSETPQLIM XQM_CMD(10) /* set projects disk limits */ | ||
236 | #define Q_XGETPQUOTA XQM_CMD(11) /* get projects disk limits */ | ||
235 | 237 | ||
236 | /* IRIX uses a dynamic sizing algorithm (ndquot = 200 + numprocs*2) */ | 238 | /* IRIX uses a dynamic sizing algorithm (ndquot = 200 + numprocs*2) */ |
237 | /* we may well need to fine-tune this if it ever becomes an issue. */ | 239 | /* we may well need to fine-tune this if it ever becomes an issue. */ |
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index 455e2b2fb964..d5f0340ddcd9 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c | |||
@@ -701,7 +701,8 @@ linvfs_getxquota( | |||
701 | struct vfs *vfsp = LINVFS_GET_VFS(sb); | 701 | struct vfs *vfsp = LINVFS_GET_VFS(sb); |
702 | int error, getmode; | 702 | int error, getmode; |
703 | 703 | ||
704 | getmode = (type == GRPQUOTA) ? Q_XGETGQUOTA : Q_XGETQUOTA; | 704 | getmode = (type == USRQUOTA) ? Q_XGETQUOTA : |
705 | ((type == GRPQUOTA) ? Q_XGETGQUOTA : Q_XGETPQUOTA); | ||
705 | VFS_QUOTACTL(vfsp, getmode, id, (caddr_t)fdq, error); | 706 | VFS_QUOTACTL(vfsp, getmode, id, (caddr_t)fdq, error); |
706 | return -error; | 707 | return -error; |
707 | } | 708 | } |
@@ -716,7 +717,8 @@ linvfs_setxquota( | |||
716 | struct vfs *vfsp = LINVFS_GET_VFS(sb); | 717 | struct vfs *vfsp = LINVFS_GET_VFS(sb); |
717 | int error, setmode; | 718 | int error, setmode; |
718 | 719 | ||
719 | setmode = (type == GRPQUOTA) ? Q_XSETGQLIM : Q_XSETQLIM; | 720 | setmode = (type == USRQUOTA) ? Q_XSETQLIM : |
721 | ((type == GRPQUOTA) ? Q_XSETGQLIM : Q_XSETPQLIM); | ||
720 | VFS_QUOTACTL(vfsp, setmode, id, (caddr_t)fdq, error); | 722 | VFS_QUOTACTL(vfsp, setmode, id, (caddr_t)fdq, error); |
721 | return -error; | 723 | return -error; |
722 | } | 724 | } |