Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src merge the bouyer-quota2 branch. This adds a new on-disk format



details:   https://anonhg.NetBSD.org/src/rev/e4b94e0d0965
branches:  trunk
changeset: 762952:e4b94e0d0965
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Sun Mar 06 17:08:10 2011 +0000

description:
merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.

diffstat:

 distrib/sets/lists/base/mi                           |     3 +-
 distrib/sets/lists/comp/mi                           |     5 +-
 distrib/sets/lists/man/mi                            |     5 +-
 distrib/sets/lists/tests/mi                          |    26 +-
 doc/CHANGES                                          |     9 +-
 etc/mtree/NetBSD.dist.tests                          |     4 +-
 lib/libc/compat/arch/alpha/sys/Makefile.inc          |     4 +-
 lib/libc/compat/arch/alpha/sys/compat_quotactl.S     |    38 +
 lib/libc/compat/arch/arm/sys/Makefile.inc            |     4 +-
 lib/libc/compat/arch/arm/sys/compat_quotactl.S       |    38 +
 lib/libc/compat/arch/hppa/sys/Makefile.inc           |     4 +-
 lib/libc/compat/arch/hppa/sys/compat_quotactl.S      |    38 +
 lib/libc/compat/arch/i386/sys/Makefile.inc           |     4 +-
 lib/libc/compat/arch/i386/sys/compat_quotactl.S      |    38 +
 lib/libc/compat/arch/ia64/sys/Makefile.inc           |     4 +-
 lib/libc/compat/arch/ia64/sys/compat_quotactl.S      |    38 +
 lib/libc/compat/arch/m68k/sys/Makefile.inc           |     4 +-
 lib/libc/compat/arch/m68k/sys/compat_quotactl.S      |    38 +
 lib/libc/compat/arch/mips/sys/Makefile.inc           |     4 +-
 lib/libc/compat/arch/mips/sys/compat_quotactl.S      |    38 +
 lib/libc/compat/arch/powerpc/sys/Makefile.inc        |     4 +-
 lib/libc/compat/arch/powerpc/sys/compat_quotactl.S   |    38 +
 lib/libc/compat/arch/powerpc64/sys/Makefile.inc      |     4 +-
 lib/libc/compat/arch/powerpc64/sys/compat_quotactl.S |    38 +
 lib/libc/compat/arch/sh3/sys/Makefile.inc            |     4 +-
 lib/libc/compat/arch/sh3/sys/compat_quotactl.S       |    38 +
 lib/libc/compat/arch/sparc/sys/Makefile.inc          |     4 +-
 lib/libc/compat/arch/sparc/sys/compat_quotactl.S     |    38 +
 lib/libc/compat/arch/sparc64/sys/Makefile.inc        |     4 +-
 lib/libc/compat/arch/sparc64/sys/compat_quotactl.S   |    38 +
 lib/libc/compat/arch/vax/sys/Makefile.inc            |     4 +-
 lib/libc/compat/arch/vax/sys/compat_quotactl.S       |    38 +
 lib/libc/compat/arch/x86_64/sys/Makefile.inc         |     4 +-
 lib/libc/compat/arch/x86_64/sys/compat_quotactl.S    |    38 +
 lib/libc/sys/Makefile.inc                            |     4 +-
 lib/libc/sys/quotactl.2                              |   259 +-
 libexec/rpc.rquotad/Makefile                         |    14 +-
 libexec/rpc.rquotad/rquotad.c                        |   215 +--
 sbin/fsck_ffs/Makefile                               |     8 +-
 sbin/fsck_ffs/dir.c                                  |    19 +-
 sbin/fsck_ffs/extern.h                               |    18 +-
 sbin/fsck_ffs/fsck.h                                 |    20 +-
 sbin/fsck_ffs/inode.c                                |   244 +++-
 sbin/fsck_ffs/main.c                                 |     9 +-
 sbin/fsck_ffs/pass1.c                                |    13 +-
 sbin/fsck_ffs/pass1b.c                               |     6 +-
 sbin/fsck_ffs/pass2.c                                |     8 +-
 sbin/fsck_ffs/pass3.c                                |    10 +-
 sbin/fsck_ffs/pass4.c                                |    58 +-
 sbin/fsck_ffs/pass6.c                                |    92 +
 sbin/fsck_ffs/quota2.c                               |   553 +++++++
 sbin/fsck_ffs/setup.c                                |    45 +-
 sbin/fsck_ffs/utilities.c                            |    90 +-
 sbin/fsdb/Makefile                                   |     8 +-
 sbin/newfs/Makefile                                  |     7 +-
 sbin/newfs/extern.h                                  |     3 +-
 sbin/newfs/mkfs.c                                    |   112 +-
 sbin/newfs/newfs.8                                   |    15 +-
 sbin/newfs/newfs.c                                   |    22 +-
 sbin/tunefs/tunefs.8                                 |    21 +-
 sbin/tunefs/tunefs.c                                 |    85 +-
 share/man/man5/fstab.5                               |    21 +-
 sys/arch/acorn26/conf/FOURMEG                        |     5 +-
 sys/arch/acorn26/conf/GENERIC                        |     5 +-
 sys/arch/acorn26/conf/INSTALL                        |     5 +-
 sys/arch/acorn32/conf/EB7500ATX                      |     7 +-
 sys/arch/acorn32/conf/GENERIC                        |     7 +-
 sys/arch/acorn32/conf/INSTALL                        |     7 +-
 sys/arch/acorn32/conf/LOWMEM_WSCONS                  |     5 +-
 sys/arch/acorn32/conf/NC                             |     5 +-
 sys/arch/alpha/conf/GENERIC                          |     7 +-
 sys/arch/amd64/conf/GENERIC                          |     7 +-
 sys/arch/amd64/conf/XEN3_DOM0                        |     5 +-
 sys/arch/amd64/conf/XEN3_DOMU                        |     5 +-
 sys/arch/amiga/conf/DRACO                            |     7 +-
 sys/arch/amiga/conf/GENERIC                          |     7 +-
 sys/arch/amiga/conf/GENERIC.in                       |     7 +-
 sys/arch/amigappc/conf/GENERIC                       |     7 +-
 sys/arch/amigappc/conf/NULL                          |     7 +-
 sys/arch/arc/conf/ARCTIC                             |     5 +-
 sys/arch/arc/conf/GENERIC                            |     7 +-
 sys/arch/arc/conf/M403                               |     5 +-
 sys/arch/arc/conf/MIMORI                             |     5 +-
 sys/arch/arc/conf/PICA                               |     5 +-
 sys/arch/arc/conf/RAMDISK                            |     3 +-
 sys/arch/arc/conf/RPC44                              |     7 +-
 sys/arch/atari/conf/GENERIC.in                       |     5 +-
 sys/arch/bebox/conf/GENERIC                          |     7 +-
 sys/arch/cats/conf/GENERIC                           |     5 +-
 sys/arch/cats/conf/INSTALL                           |     5 +-
 sys/arch/cesfic/conf/GENERIC                         |     5 +-
 sys/arch/cobalt/conf/GENERIC                         |     7 +-
 sys/arch/cobalt/conf/INSTALL                         |     7 +-
 sys/arch/dreamcast/conf/GENERIC                      |     5 +-
 sys/arch/emips/conf/GENERIC                          |     7 +-
 sys/arch/evbarm/conf/ADI_BRH                         |     5 +-
 sys/arch/evbarm/conf/ARMADILLO210                    |     5 +-
 sys/arch/evbarm/conf/ARMADILLO9                      |     5 +-
 sys/arch/evbarm/conf/BEAGLEBOARD                     |     5 +-
 sys/arch/evbarm/conf/CP3100                          |     5 +-
 sys/arch/evbarm/conf/GEMINI                          |     3 +-
 sys/arch/evbarm/conf/GEMINI_MASTER                   |     3 +-
 sys/arch/evbarm/conf/GEMINI_SLAVE                    |     3 +-
 sys/arch/evbarm/conf/GUMSTIX                         |     5 +-
 sys/arch/evbarm/conf/HDL_G                           |     5 +-
 sys/arch/evbarm/conf/IGEPV2                          |     5 +-
 sys/arch/evbarm/conf/IMX31LITE                       |     5 +-
 sys/arch/evbarm/conf/INTEGRATOR                      |     5 +-
 sys/arch/evbarm/conf/IQ31244                         |     5 +-
 sys/arch/evbarm/conf/IQ80310                         |     5 +-
 sys/arch/evbarm/conf/IQ80321                         |     5 +-
 sys/arch/evbarm/conf/IXDP425                         |     5 +-
 sys/arch/evbarm/conf/IXM1200                         |     5 +-
 sys/arch/evbarm/conf/LUBBOCK                         |     3 +-
 sys/arch/evbarm/conf/MARVELL_NAS                     |     5 +-
 sys/arch/evbarm/conf/MPCSA_GENERIC                   |     7 +-
 sys/arch/evbarm/conf/NAPPI                           |     5 +-
 sys/arch/evbarm/conf/NETWALKER                       |     5 +-
 sys/arch/evbarm/conf/NSLU2                           |     5 +-
 sys/arch/evbarm/conf/OSK5912                         |     3 +-
 sys/arch/evbarm/conf/OVERO                           |     5 +-
 sys/arch/evbarm/conf/SHEEVAPLUG                      |     5 +-
 sys/arch/evbarm/conf/SMDK2410                        |     5 +-
 sys/arch/evbarm/conf/SMDK2800                        |     5 +-
 sys/arch/evbarm/conf/TEAMASA_NPWR                    |     5 +-
 sys/arch/evbarm/conf/TEAMASA_NPWR_FC                 |     5 +-
 sys/arch/evbarm/conf/TISDP2420                       |     5 +-
 sys/arch/evbarm/conf/TISDP2430                       |     5 +-
 sys/arch/evbarm/conf/TS7200                          |     5 +-
 sys/arch/evbarm/conf/TWINTAIL                        |     5 +-
 sys/arch/evbarm/conf/VIPER                           |     5 +-
 sys/arch/evbarm/conf/ZAO425                          |     5 +-
 sys/arch/evbmips/conf/ADM5120                        |     7 +-
 sys/arch/evbmips/conf/ADM5120-NB                     |     7 +-
 sys/arch/evbmips/conf/ADM5120-USB                    |     7 +-
 sys/arch/evbmips/conf/ALCHEMY                        |     7 +-
 sys/arch/evbmips/conf/AP30                           |     7 +-
 sys/arch/evbmips/conf/GDIUM                          |     7 +-
 sys/arch/evbmips/conf/MALTA                          |     7 +-
 sys/arch/evbmips/conf/MERAKI                         |     7 +-
 sys/arch/evbmips/conf/RB153                          |     7 +-
 sys/arch/evbmips/conf/WGT624V3                       |     7 +-
 sys/arch/evbppc/conf/EV64260                         |     5 +-
 sys/arch/evbppc/conf/EXPLORA451                      |     5 +-
 sys/arch/evbppc/conf/MPC8536DS                       |     7 +-
 sys/arch/evbppc/conf/MPC8548CDS                      |     7 +-
 sys/arch/evbppc/conf/OPENBLOCKS200                   |     5 +-
 sys/arch/evbppc/conf/OPENBLOCKS266                   |     7 +-
 sys/arch/evbppc/conf/OPENBLOCKS600                   |     7 +-
 sys/arch/evbppc/conf/PMPPC                           |     5 +-
 sys/arch/evbppc/conf/RB800                           |     7 +-
 sys/arch/evbppc/conf/VIRTEX_DFC                      |     5 +-
 sys/arch/evbppc/conf/VIRTEX_GSRD1                    |     5 +-
 sys/arch/evbppc/conf/VIRTEX_GSRD2                    |     5 +-
 sys/arch/evbppc/conf/WALNUT                          |     5 +-
 sys/arch/ews4800mips/conf/GENERIC                    |     7 +-
 sys/arch/ews4800mips/conf/RAMDISK                    |     3 +-
 sys/arch/hp300/conf/GENERIC                          |     7 +-
 sys/arch/hp300/conf/INSTALL                          |     5 +-
 sys/arch/hp300/dev/hyperreg.h                        |     3 +-
 sys/arch/hp700/conf/GENERIC                          |     7 +-
 sys/arch/hpcarm/conf/IPAQ                            |     5 +-
 sys/arch/hpcarm/conf/JORNADA720                      |     7 +-
 sys/arch/hpcarm/conf/JORNADA820                      |     7 +-
 sys/arch/hpcarm/conf/WZERO3                          |     7 +-
 sys/arch/hpcmips/conf/GENERIC                        |     7 +-
 sys/arch/hpcmips/conf/LROUTER                        |     5 +-
 sys/arch/hpcmips/conf/MPC303                         |     7 +-
 sys/arch/hpcmips/conf/TX3912                         |     5 +-
 sys/arch/hpcmips/conf/TX3922                         |     5 +-
 sys/arch/hpcmips/conf/VR41XX                         |     7 +-
 sys/arch/i386/conf/ALL                               |     7 +-
 sys/arch/i386/conf/GENERIC                           |     7 +-
 sys/arch/i386/conf/GENERIC_TINY                      |     5 +-
 sys/arch/i386/conf/INSTALL_FLOPPY                    |     5 +-
 sys/arch/i386/conf/INSTALL_TINY                      |     5 +-
 sys/arch/i386/conf/MONOLITHIC                        |     5 +-
 sys/arch/i386/conf/NET4501                           |     7 +-
 sys/arch/i386/conf/XEN3_DOM0                         |     5 +-
 sys/arch/i386/conf/XEN3_DOMU                         |     5 +-
 sys/arch/iyonix/conf/GENERIC                         |     7 +-
 sys/arch/landisk/conf/GENERIC                        |     7 +-
 sys/arch/luna68k/conf/GENERIC                        |     7 +-
 sys/arch/mac68k/conf/GENERIC                         |     7 +-
 sys/arch/mac68k/conf/SMALLRAM                        |     3 +-
 sys/arch/macppc/conf/GENERIC                         |     7 +-
 sys/arch/macppc/conf/MAMBO                           |     5 +-
 sys/arch/macppc/conf/POWERMAC_G5                     |     3 +-
 sys/arch/mipsco/conf/GENERIC                         |     5 +-
 sys/arch/mipsco/conf/RC3230                          |     5 +-
 sys/arch/mmeye/conf/GENERIC                          |     7 +-
 sys/arch/mmeye/conf/MMTA                             |     5 +-
 sys/arch/mmeye/conf/MMTAICE                          |     5 +-
 sys/arch/mmeye/conf/MMTAROMNEW                       |     5 +-
 sys/arch/mvmeppc/conf/GENERIC                        |     7 +-
 sys/arch/netwinder/conf/GENERIC                      |     5 +-
 sys/arch/news68k/conf/GENERIC                        |     7 +-
 sys/arch/news68k/conf/GENERIC_TINY                   |     7 +-
 sys/arch/news68k/conf/INSTALL                        |     5 +-
 sys/arch/news68k/conf/LIBERO                         |     5 +-
 sys/arch/news68k/conf/NEWS1200                       |     5 +-
 sys/arch/newsmips/conf/GENERIC                       |     7 +-
 sys/arch/next68k/conf/GENERIC                        |     7 +-
 sys/arch/next68k/conf/SLAB                           |     5 +-
 sys/arch/ofppc/conf/GENERIC                          |     7 +-
 sys/arch/ofppc/conf/GENERIC.MP                       |     7 +-
 sys/arch/pmax/conf/GENERIC                           |     7 +-
 sys/arch/pmax/conf/GENERIC64                         |     7 +-
 sys/arch/prep/conf/GENERIC                           |     7 +-
 sys/arch/rs6000/conf/GENERIC                         |     7 +-
 sys/arch/sandpoint/conf/GENERIC                      |     7 +-
 sys/arch/sbmips/conf/GENERIC                         |     7 +-
 sys/arch/sgimips/conf/GENERIC32_IP12                 |     7 +-
 sys/arch/sgimips/conf/GENERIC32_IP2x                 |     7 +-
 sys/arch/sgimips/conf/GENERIC32_IP3x                 |     7 +-
 sys/arch/shark/conf/GENERIC                          |     7 +-
 sys/arch/shark/conf/INSTALL                          |     5 +-
 sys/arch/shark/conf/OFWGENCFG                        |     5 +-
 sys/arch/sparc/conf/BILL-THE-CAT                     |     5 +-
 sys/arch/sparc/conf/INSTALL                          |     5 +-
 sys/arch/sparc/conf/KRUPS                            |     7 +-
 sys/arch/sparc/conf/MRCOFFEE                         |     7 +-
 sys/arch/sparc/conf/TADPOLE3GX                       |     5 +-
 sys/arch/sparc64/conf/GENERIC                        |     7 +-
 sys/arch/sparc64/conf/NONPLUS64                      |     7 +-
 sys/arch/sun2/conf/DISKLESS                          |     7 +-
 sys/arch/sun2/conf/FOURMEG                           |     7 +-
 sys/arch/sun2/conf/GENERIC                           |     7 +-
 sys/arch/sun2/conf/INSTALL                           |     7 +-
 sys/arch/sun2/conf/RAMDISK                           |     5 +-
 sys/arch/sun2/conf/VME                               |     7 +-
 sys/arch/sun3/conf/DISKLESS                          |     5 +-
 sys/arch/sun3/conf/DISKLESS3X                        |     5 +-
 sys/arch/sun3/conf/GENERIC                           |     7 +-
 sys/arch/sun3/conf/GENERIC3X                         |     7 +-
 sys/arch/sun3/conf/INSTALL                           |     5 +-
 sys/arch/sun3/conf/INSTALL3X                         |     5 +-
 sys/arch/vax/conf/GENERIC                            |     7 +-
 sys/arch/vax/conf/INSTALL                            |     5 +-
 sys/arch/vax/conf/VAX780                             |     5 +-
 sys/arch/x68k/conf/GENERIC                           |     7 +-
 sys/arch/x68k/conf/INSTALL                           |     7 +-
 sys/arch/zaurus/conf/GENERIC                         |     5 +-
 sys/compat/common/compat_mod.c                       |     5 +-
 sys/compat/common/vfs_syscalls_50.c                  |   219 +++-
 sys/compat/freebsd/freebsd_syscall.h                 |     4 +-
 sys/compat/freebsd/freebsd_syscallargs.h             |    10 +-
 sys/compat/freebsd/freebsd_syscalls.c                |    78 +-
 sys/compat/freebsd/freebsd_sysent.c                  |    10 +-
 sys/compat/freebsd/syscalls.master                   |     6 +-
 sys/compat/netbsd32/netbsd32.h                       |     8 +-
 sys/compat/netbsd32/netbsd32_compat_50.c             |    22 +-
 sys/compat/netbsd32/netbsd32_conv.h                  |    30 +-
 sys/compat/netbsd32/netbsd32_ioctl.h                 |     7 +-
 sys/compat/netbsd32/netbsd32_netbsd.c                |    42 +-
 sys/compat/netbsd32/netbsd32_syscall.h               |    13 +-
 sys/compat/netbsd32/netbsd32_syscallargs.h           |    20 +-
 sys/compat/netbsd32/netbsd32_syscalls.c              |    68 +-
 sys/compat/netbsd32/netbsd32_sysent.c                |    14 +-
 sys/compat/netbsd32/syscalls.master                  |     6 +-
 sys/conf/files                                       |     4 +-
 sys/fs/unionfs/unionfs_vfsops.c                      |     4 +-
 sys/kern/init_sysent.c                               |    14 +-
 sys/kern/syscalls.c                                  |    10 +-
 sys/kern/syscalls.master                             |     6 +-
 sys/kern/vfs_subr.c                                  |     8 +-
 sys/kern/vfs_syscalls.c                              |    27 +-
 sys/kern/vnode_if.c                                  |     6 +-
 sys/miscfs/genfs/layer_extern.h                      |     4 +-
 sys/miscfs/genfs/layer_vfsops.c                      |     8 +-
 sys/modules/ffs/Makefile                             |     7 +-
 sys/rump/fs/lib/libffs/Makefile                      |    10 +-
 sys/rump/include/rump/rump_syscalls.h                |    10 +-
 sys/rump/include/rump/rumpvnode_if.h                 |     4 +-
 sys/rump/librump/rumpkern/rump_syscalls.c            |    38 +-
 sys/rump/librump/rumpvfs/Makefile.rumpvfs            |     8 +-
 sys/rump/librump/rumpvfs/rumpvnode_if.c              |     6 +-
 sys/sys/Makefile                                     |     4 +-
 sys/sys/mount.h                                      |     9 +-
 sys/sys/quota.h                                      |    38 +
 sys/sys/stat.h                                       |     3 +-
 sys/sys/syscall.h                                    |    13 +-
 sys/sys/syscallargs.h                                |    18 +-
 sys/sys/vnode_if.h                                   |     4 +-
 sys/ufs/ffs/ffs_alloc.c                              |   108 +-
 sys/ufs/ffs/ffs_balloc.c                             |     8 +-
 sys/ufs/ffs/ffs_bswap.c                              |     9 +-
 sys/ufs/ffs/ffs_extern.h                             |     7 +-
 sys/ufs/ffs/ffs_inode.c                              |     6 +-
 sys/ufs/ffs/ffs_quota2.c                             |   120 +
 sys/ufs/ffs/ffs_snapshot.c                           |    62 +-
 sys/ufs/ffs/ffs_subr.c                               |   103 +-
 sys/ufs/ffs/ffs_vfsops.c                             |    69 +-
 sys/ufs/ffs/fs.h                                     |    11 +-
 sys/ufs/files.ufs                                    |    10 +-
 sys/ufs/lfs/lfs_vfsops.c                             |    21 +-
 sys/ufs/ufs/Makefile                                 |     6 +-
 sys/ufs/ufs/quota.h                                  |    61 +-
 sys/ufs/ufs/quota1.h                                 |   100 +
 sys/ufs/ufs/quota1_subr.c                            |    91 +
 sys/ufs/ufs/quota2.h                                 |   115 +
 sys/ufs/ufs/quota2_prop.c                            |   275 +++
 sys/ufs/ufs/quota2_prop.h                            |    47 +
 sys/ufs/ufs/quota2_subr.c                            |   128 +
 sys/ufs/ufs/ufs_bmap.c                               |    17 +-
 sys/ufs/ufs/ufs_extern.h                             |    17 +-
 sys/ufs/ufs/ufs_inode.c                              |    12 +-
 sys/ufs/ufs/ufs_quota.c                              |  1250 +++++++----------
 sys/ufs/ufs/ufs_quota.h                              |   130 +
 sys/ufs/ufs/ufs_quota1.c                             |   856 ++++++++++++
 sys/ufs/ufs/ufs_quota2.c                             |   953 +++++++++++++
 sys/ufs/ufs/ufs_readwrite.c                          |     6 +-
 sys/ufs/ufs/ufs_vfsops.c                             |    56 +-
 sys/ufs/ufs/ufs_vnops.c                              |    33 +-
 sys/ufs/ufs/ufsmount.h                               |    24 +-
 tests/fs/ffs/Makefile                                |    20 +-
 tests/fs/ffs/clients/Makefile                        |    60 +
 tests/fs/ffs/clients/quota_rumpops.c                 |    89 +
 tests/fs/ffs/h_quota2_server.c                       |   115 +
 tests/fs/ffs/h_quota2_tests.c                        |   456 ++++++
 tests/fs/ffs/quotas_common.sh                        |    89 +
 tests/fs/ffs/t_clearquota.sh                         |    91 +
 tests/fs/ffs/t_getquota.sh                           |   112 +
 tests/fs/ffs/t_miscquota.sh                          |   164 ++
 tests/fs/ffs/t_quota2_1.c                            |   117 +
 tests/fs/ffs/t_quota2_remount.c                      |   143 ++
 tests/fs/ffs/t_quotalimit.sh                         |   345 ++++
 tests/fs/ffs/t_setquota.sh                           |   203 ++
 tests/sbin/Makefile                                  |     4 +-
 tests/sbin/fsck_ffs/Makefile                         |    12 +
 tests/sbin/fsck_ffs/quotas_common.sh                 |    44 +
 tests/sbin/fsck_ffs/t_check_quotas.sh                |    73 +
 tests/sbin/fsck_ffs/t_enable_quotas.sh               |   105 +
 tests/sbin/newfs/Makefile                            |    12 +
 tests/sbin/newfs/quotas_common.sh                    |    43 +
 tests/sbin/newfs/t_enable_quotas.sh                  |    57 +
 usr.bin/ktruss/dump.c                                |     7 +-
 usr.bin/quota/Makefile                               |    11 +-
 usr.bin/quota/getvfsquota.c                          |   169 ++
 usr.bin/quota/getvfsquota.h                          |     6 +
 usr.bin/quota/printquota.c                           |   284 ++++
 usr.bin/quota/printquota.h                           |     8 +
 usr.bin/quota/quota.1                                |    38 +-
 usr.bin/quota/quota.c                                |   392 ++---
 usr.sbin/Makefile                                    |     4 +-
 usr.sbin/edquota/Makefile                            |    13 +-
 usr.sbin/edquota/edquota.8                           |   160 +-
 usr.sbin/edquota/edquota.c                           |  1114 ++++++++++-----
 usr.sbin/makefs/ffs/ffs_alloc.c                      |    94 +-
 usr.sbin/quotacheck/quotacheck.c                     |    35 +-
 usr.sbin/quotactl/Makefile                           |    16 +
 usr.sbin/quotactl/quotactl.8                         |   136 +
 usr.sbin/quotactl/quotactl.c                         |   182 ++
 usr.sbin/quotaon/Makefile                            |    11 +-
 usr.sbin/quotaon/quotaon.c                           |    91 +-
 usr.sbin/repquota/Makefile                           |    13 +-
 usr.sbin/repquota/repquota.8                         |    45 +-
 usr.sbin/repquota/repquota.c                         |   552 ++++++-
 358 files changed, 11958 insertions(+), 2979 deletions(-)

diffs (truncated from 22221 to 300 lines):

diff -r 1b566b67dd63 -r e4b94e0d0965 distrib/sets/lists/base/mi
--- a/distrib/sets/lists/base/mi        Sun Mar 06 17:00:16 2011 +0000
+++ b/distrib/sets/lists/base/mi        Sun Mar 06 17:08:10 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.923 2011/03/02 22:25:52 tron Exp $
+# $NetBSD: mi,v 1.924 2011/03/06 17:08:10 bouyer Exp $
 #
 # Note:        Don't delete entries from here - mark them as "obsolete" instead,
 #      unless otherwise stated below.
@@ -1338,6 +1338,7 @@
 ./usr/sbin/pwd_mkdb                            base-sysutil-bin
 ./usr/sbin/quot                                        base-sysutil-bin
 ./usr/sbin/quotacheck                          base-sysutil-bin
+./usr/sbin/quotactl                            base-sysutil-bin
 ./usr/sbin/quotaoff                            base-sysutil-bin
 ./usr/sbin/quotaon                             base-sysutil-bin
 ./usr/sbin/racoon                              base-netutil-bin        crypto
diff -r 1b566b67dd63 -r e4b94e0d0965 distrib/sets/lists/comp/mi
--- a/distrib/sets/lists/comp/mi        Sun Mar 06 17:00:16 2011 +0000
+++ b/distrib/sets/lists/comp/mi        Sun Mar 06 17:08:10 2011 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: mi,v 1.1592 2011/03/02 22:25:53 tron Exp $
+#      $NetBSD: mi,v 1.1593 2011/03/06 17:08:10 bouyer Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -2119,6 +2119,7 @@
 ./usr/include/sys/ptrace.h                     comp-c-include
 ./usr/include/sys/ptree.h                      comp-c-include
 ./usr/include/sys/queue.h                      comp-c-include
+./usr/include/sys/quota.h                      comp-c-include
 ./usr/include/sys/radioio.h                    comp-c-include
 ./usr/include/sys/ras.h                                comp-c-include
 ./usr/include/sys/rb.h                         comp-obsolete           obsolete
@@ -2232,6 +2233,8 @@
 ./usr/include/ufs/ufs/extattr.h                        comp-c-include
 ./usr/include/ufs/ufs/inode.h                  comp-c-include
 ./usr/include/ufs/ufs/quota.h                  comp-c-include
+./usr/include/ufs/ufs/quota1.h                 comp-c-include
+./usr/include/ufs/ufs/quota2.h                 comp-c-include
 ./usr/include/ufs/ufs/ufs_bswap.h              comp-c-include
 ./usr/include/ufs/ufs/ufs_extern.h             comp-c-include
 ./usr/include/ufs/ufs/ufs_wapbl.h              comp-c-include
diff -r 1b566b67dd63 -r e4b94e0d0965 distrib/sets/lists/man/mi
--- a/distrib/sets/lists/man/mi Sun Mar 06 17:00:16 2011 +0000
+++ b/distrib/sets/lists/man/mi Sun Mar 06 17:08:10 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1299 2011/03/04 05:56:49 jruoho Exp $
+# $NetBSD: mi,v 1.1300 2011/03/06 17:08:11 bouyer Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -2611,6 +2611,7 @@
 ./usr/share/man/cat8/qmqpd.0                   man-obsolete            obsolete
 ./usr/share/man/cat8/quot.0                    man-sysutil-catman      .cat
 ./usr/share/man/cat8/quotacheck.0              man-sysutil-catman      .cat
+./usr/share/man/cat8/quotactl.0                        man-sysutil-catman      .cat
 ./usr/share/man/cat8/quotaoff.0                        man-sysutil-catman      .cat
 ./usr/share/man/cat8/quotaon.0                 man-sysutil-catman      .cat
 ./usr/share/man/cat8/racoon.0                  man-netutil-catman      crypto,.cat
@@ -5133,6 +5134,7 @@
 ./usr/share/man/html8/qmgr.html                        man-postfix-htmlman     postfix,html
 ./usr/share/man/html8/quot.html                        man-sysutil-htmlman     html
 ./usr/share/man/html8/quotacheck.html          man-sysutil-htmlman     html
+./usr/share/man/html8/quotactl.html            man-sysutil-htmlman     html
 ./usr/share/man/html8/quotaoff.html            man-sysutil-htmlman     html
 ./usr/share/man/html8/quotaon.html             man-sysutil-htmlman     html
 ./usr/share/man/html8/racoon.html              man-netutil-htmlman     crypto,html
@@ -7932,6 +7934,7 @@
 ./usr/share/man/man8/qmqpd.8                   man-obsolete            obsolete
 ./usr/share/man/man8/quot.8                    man-sysutil-man         .man
 ./usr/share/man/man8/quotacheck.8              man-sysutil-man         .man
+./usr/share/man/man8/quotactl.8                        man-sysutil-man         .man
 ./usr/share/man/man8/quotaoff.8                        man-sysutil-man         .man
 ./usr/share/man/man8/quotaon.8                 man-sysutil-man         .man
 ./usr/share/man/man8/racoon.8                  man-netutil-man         crypto,.man
diff -r 1b566b67dd63 -r e4b94e0d0965 distrib/sets/lists/tests/mi
--- a/distrib/sets/lists/tests/mi       Sun Mar 06 17:00:16 2011 +0000
+++ b/distrib/sets/lists/tests/mi       Sun Mar 06 17:08:10 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.258 2011/03/05 18:14:55 pgoyette Exp $
+# $NetBSD: mi,v 1.259 2011/03/06 17:08:12 bouyer Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -1182,12 +1182,25 @@
 ./usr/tests/fs/h_funcs.subr                    tests-fs-tests          atf
 ./usr/tests/fs/ffs                             tests-fs-tests
 ./usr/tests/fs/ffs/Atffile                     tests-fs-tests          atf
+./usr/tests/fs/ffs/h_quota2_server             tests-fs-tests          atf
+./usr/tests/fs/ffs/h_quota2_tests              tests-fs-tests          atf
+./usr/tests/fs/ffs/rump_edquota                        tests-fs-tests          atf
+./usr/tests/fs/ffs/rump_quota                  tests-fs-tests          atf
+./usr/tests/fs/ffs/rump_quotactl               tests-fs-tests          atf
+./usr/tests/fs/ffs/rump_repquota               tests-fs-tests          atf
 ./usr/tests/fs/ffs/t_fifos                     tests-fs-tests          atf
 ./usr/tests/fs/ffs/t_mount                     tests-fs-tests          atf
 ./usr/tests/fs/ffs/t_renamerace                        tests-obsolete          obsolete
 ./usr/tests/fs/ffs/t_snapshot                  tests-fs-tests          atf
-./usr/tests/fs/ffs/t_snapshot_log                      tests-fs-tests          atf
-./usr/tests/fs/ffs/t_snapshot_v2                       tests-fs-tests          atf
+./usr/tests/fs/ffs/t_snapshot_log              tests-fs-tests          atf
+./usr/tests/fs/ffs/t_snapshot_v2               tests-fs-tests          atf
+./usr/tests/fs/ffs/t_clearquota                        tests-fs-tests          atf
+./usr/tests/fs/ffs/t_getquota                  tests-fs-tests          atf
+./usr/tests/fs/ffs/t_quota2_1                  tests-fs-tests          atf
+./usr/tests/fs/ffs/t_quota2_remount            tests-fs-tests          atf
+./usr/tests/fs/ffs/t_quotalimit                        tests-fs-tests          atf
+./usr/tests/fs/ffs/t_setquota                  tests-fs-tests          atf
+./usr/tests/fs/ffs/t_miscquota                 tests-fs-tests          atf
 ./usr/tests/fs/hfs                             tests-fs-tests
 ./usr/tests/fs/hfs/Atffile                     tests-fs-tests          atf
 ./usr/tests/fs/hfs/colon.hfs.bz2.uue                   tests-fs-tests          atf
@@ -2016,6 +2029,13 @@
 ./usr/tests/rump/rumpvfs/t_p2kifs              tests-rump-tests        atf
 ./usr/tests/sbin                               tests-sbin-tests
 ./usr/tests/sbin/Atffile                       tests-sbin-tests        atf
+./usr/tests/sbin/fsck_ffs                      tests-sbin-tests
+./usr/tests/sbin/fsck_ffs/Atffile              tests-sbin-tests        atf
+./usr/tests/sbin/fsck_ffs/t_check_quotas       tests-sbin-tests        atf
+./usr/tests/sbin/fsck_ffs/t_enable_quotas      tests-sbin-tests        atf
+./usr/tests/sbin/newfs                         tests-sbin-tests
+./usr/tests/sbin/newfs/Atffile                 tests-sbin-tests        atf
+./usr/tests/sbin/newfs/t_enable_quotas         tests-sbin-tests        atf
 ./usr/tests/sbin/resize_ffs                    tests-sbin-tests
 ./usr/tests/sbin/resize_ffs/Atffile            tests-sbin-tests        atf
 ./usr/tests/sbin/resize_ffs/t_grow             tests-sbin-tests        atf
diff -r 1b566b67dd63 -r e4b94e0d0965 doc/CHANGES
--- a/doc/CHANGES       Sun Mar 06 17:00:16 2011 +0000
+++ b/doc/CHANGES       Sun Mar 06 17:08:10 2011 +0000
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:                   <$Revision: 1.1516 $>
+# LIST OF CHANGES FROM LAST RELEASE:                   <$Revision: 1.1517 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -875,3 +875,10 @@
        nand(9): Add subsystem to handle NAND controllers. [ahoka 20110226]
        evbarm: Add driver for OMAP NAND controllers. [ahoka 20110226]
        postfix(1): Import version 2.8.1 [tron 20110302]
+       kernel: merge the bouyer-quota2 branch. This adds a new on-disk format
+               to store disk quota usage and limits, integrated with ffs
+               metadata. Usage is checked by fsck_ffs (no more quotacheck)
+               and is covered by the WAPBL journal. Enabled with kernel
+               option QUOTA2, turned on with tunefs(8) on a per-filesystem
+               basis. mount_mfs(8) can also turn quotas on.
+               [bouyer 20110306]
diff -r 1b566b67dd63 -r e4b94e0d0965 etc/mtree/NetBSD.dist.tests
--- a/etc/mtree/NetBSD.dist.tests       Sun Mar 06 17:00:16 2011 +0000
+++ b/etc/mtree/NetBSD.dist.tests       Sun Mar 06 17:08:10 2011 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: NetBSD.dist.tests,v 1.29 2011/02/24 10:29:04 pooka Exp $
+#      $NetBSD: NetBSD.dist.tests,v 1.30 2011/03/06 17:08:12 bouyer Exp $
 
 ./usr/libdata/debug/usr/tests
 ./usr/libdata/debug/usr/tests/atf
@@ -213,6 +213,8 @@
 ./usr/tests/rump/rumpkern/h_server
 ./usr/tests/rump/rumpvfs
 ./usr/tests/sbin
+./usr/tests/sbin/fsck_ffs
+./usr/tests/sbin/newfs
 ./usr/tests/sbin/resize_ffs
 ./usr/tests/sys
 ./usr/tests/sys/rc
diff -r 1b566b67dd63 -r e4b94e0d0965 lib/libc/compat/arch/alpha/sys/Makefile.inc
--- a/lib/libc/compat/arch/alpha/sys/Makefile.inc       Sun Mar 06 17:00:16 2011 +0000
+++ b/lib/libc/compat/arch/alpha/sys/Makefile.inc       Sun Mar 06 17:08:10 2011 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile.inc,v 1.1 2005/09/16 18:21:19 drochner Exp $
+# $NetBSD: Makefile.inc,v 1.2 2011/03/06 17:08:12 bouyer Exp $
 
 SRCS+=compat_Ovfork.S compat___semctl.S compat___sigreturn14.S \
     compat___sigtramp1.S compat_msgctl.S compat_shmctl.S compat_sigaction.S \
     compat_sigpending.S compat_sigprocmask.S compat_sigreturn.S \
-    compat_sigsuspend.S
+    compat_sigsuspend.S compat_quotactl.S
diff -r 1b566b67dd63 -r e4b94e0d0965 lib/libc/compat/arch/alpha/sys/compat_quotactl.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/libc/compat/arch/alpha/sys/compat_quotactl.S  Sun Mar 06 17:08:10 2011 +0000
@@ -0,0 +1,38 @@
+/*     $NetBSD: compat_quotactl.S,v 1.2 2011/03/06 17:08:12 bouyer Exp $       */
+
+/*-
+ * Copyright (c) 1999 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
+ * NASA Ames Research Center.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "SYS.h"
+
+WARN_REFERENCES(quotactl, \
+    "warning: reference to compatibility quotactl(); include <sys/quota.h> for correct reference")
+
+PSEUDO(quotactl,compat_50_quotactl)
diff -r 1b566b67dd63 -r e4b94e0d0965 lib/libc/compat/arch/arm/sys/Makefile.inc
--- a/lib/libc/compat/arch/arm/sys/Makefile.inc Sun Mar 06 17:00:16 2011 +0000
+++ b/lib/libc/compat/arch/arm/sys/Makefile.inc Sun Mar 06 17:08:10 2011 +0000
@@ -1,6 +1,6 @@
-#      $NetBSD: Makefile.inc,v 1.1 2005/10/16 17:27:50 christos Exp $
+#      $NetBSD: Makefile.inc,v 1.2 2011/03/06 17:08:13 bouyer Exp $
 
 SRCS+=compat_Ovfork.S compat___semctl.S compat___sigreturn14.S \
     compat___sigtramp1.S compat_msgctl.S compat_shmctl.S compat_sigaction.S \
     compat_sigpending.S compat_sigprocmask.S compat_sigreturn.S \
-    compat_sigsuspend.S 
+    compat_sigsuspend.S compat_quotactl.S
diff -r 1b566b67dd63 -r e4b94e0d0965 lib/libc/compat/arch/arm/sys/compat_quotactl.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/libc/compat/arch/arm/sys/compat_quotactl.S    Sun Mar 06 17:08:10 2011 +0000
@@ -0,0 +1,38 @@
+/*     $NetBSD: compat_quotactl.S,v 1.2 2011/03/06 17:08:13 bouyer Exp $       */
+
+/*-
+ * Copyright (c) 1999 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
+ * NASA Ames Research Center.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "SYS.h"
+
+WARN_REFERENCES(quotactl, \
+    "warning: reference to compatibility quotactl(); include <sys/quota.h> for correct reference")
+
+PSEUDO(quotactl,compat_50_quotactl)
diff -r 1b566b67dd63 -r e4b94e0d0965 lib/libc/compat/arch/hppa/sys/Makefile.inc
--- a/lib/libc/compat/arch/hppa/sys/Makefile.inc        Sun Mar 06 17:00:16 2011 +0000
+++ b/lib/libc/compat/arch/hppa/sys/Makefile.inc        Sun Mar 06 17:08:10 2011 +0000
@@ -1,6 +1,6 @@
-#      $NetBSD: Makefile.inc,v 1.1 2006/03/11 19:54:56 christos Exp $
+#      $NetBSD: Makefile.inc,v 1.2 2011/03/06 17:08:13 bouyer Exp $
 
 SRCS+=compat_Ovfork.S compat___semctl.S compat___sigreturn14.S \
     compat_msgctl.S compat_shmctl.S compat_sigaction.S \
     compat_sigpending.S compat_sigprocmask.S compat_sigreturn.S \
-    compat_sigsuspend.S 
+    compat_sigsuspend.S compat_quotactl.S
diff -r 1b566b67dd63 -r e4b94e0d0965 lib/libc/compat/arch/hppa/sys/compat_quotactl.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/libc/compat/arch/hppa/sys/compat_quotactl.S   Sun Mar 06 17:08:10 2011 +0000
@@ -0,0 +1,38 @@
+/*     $NetBSD: compat_quotactl.S,v 1.2 2011/03/06 17:08:13 bouyer Exp $       */
+
+/*-
+ * Copyright (c) 1999 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
+ * NASA Ames Research Center.
+ *
+ * Redistribution and use in source and binary forms, with or without




Home | Main Index | Thread Index | Old Index