Source-Changes-HG archive

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

[src/bouyer-quota2]: src Snapshot of work in progress on a modernised disk qu...



details:   https://anonhg.NetBSD.org/src/rev/7258148b154c
branches:  bouyer-quota2
changeset: 761070:7258148b154c
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Thu Jan 20 14:24:48 2011 +0000

description:
Snapshot of work in progress on a modernised disk quota system:
- new quotactl syscall (versionned for backward compat), which takes
  as parameter a path to a mount point, and a prop_dictionary
  (in plistref format) describing commands and arguments.
  For each command, status and data are returned as a prop_dictionary.
  quota commands features will be added to take advantage of this,
  exporting quota data or getting quota commands as plists.

- new on disk-format storage (all 64bit wide), integrated to metadata for
  ffs (and playing nicely with wapbl).
  Quotas are enabled on a ffs filesystem via superblock flags.
  tunefs(8) can enable or disable quotas.
  On a quota-enabled filesystem, fsck_ffs(8) will track per-uid/gid
  block and inode usages, and will check and update quotas in Pass 6.
  quota usage and limits are stored in unliked files (one for users,
  one for groups)l fsck_ffs(8) will create the files if needed, or
  free them if needed. This means that after enabling or disabling
  quotas on a filesystem; a fsck_ffs(8) run is required.
  quotacheck(8) is not needed any more, on a unclean shutdown
  fsck or journal replay will take care of fixing quotas.
  newfs(8) can create a ready-to-mount quota-enabled filesystem
  (superblock flags are set and quota inodes are created).
  Other new features or semantic changes:
  - default quota datas, applied to users or groups which don't already
    have a quota entry
  - per-user/group grace time (instead of a filesystem global one)
  - 0 really means "nothing allowed at all", not "no limit".
    If you want "no limit", set the limit to UQUAD_MAX (tools will
    understand "unlimited" and "-")

  A quota file is structured as follow:
  it starts with a header, containing a few per-filesystem values,
  and the default quota limits.
  Quota entries are linked together as a simple list, each entry has a
  pointer (as an offset withing the file) to the next.
  The header has a pointer to a list of free quota entries, and
  a hash table of in-use entries. The size of the hash table depends
  on the filesystem block size (header+hash table should fit in the
  first block). The file is not sparse and is a multiple of
  filesystem block size (when the free quota entry list is empty a new
  filesystem block is allocated). quota entries to not cross
  filesystem block boundaries.

  In memory, the kernel keeps a cache of recently used quota entries
  as a reference to the block number, and offset withing the block.
  The quota entry itself is keept in the buf cache.

fsck_ffs(8), tunefs(8) and newfs(8) supports are completed (with
related atf tests :)
The kernel can update disk usage and report it via quotactl(2).

Todo: enforce quotas limits (limits are not checked by kernel yet)
      update repquota, edquota and rpc.rquotad to the new world
      implement compat_50_quotactl ioctl.
      update quotactl(2) man page

fsck_ffs required fixes so that allocating new blocks or inodes will
properly update the superblock and cg sumaries. This was not an issue up
to now because superblock and cg sumaries check happened last, but now
allocations or frees can happen in pass 6.

diffstat:

 distrib/sets/lists/base/shl.mi                       |   14 +-
 distrib/sets/lists/comp/mi                           |   13 +-
 distrib/sets/lists/comp/shl.mi                       |    6 +-
 etc/mtree/NetBSD.dist.tests                          |    3 +-
 include/ssp/ssp.h                                    |    9 +-
 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/gen/getcwd.c                                |   19 +-
 lib/libc/sys/Makefile.inc                            |    4 +-
 lib/librumphijack/hijack.c                           |   49 +-
 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                                |  235 ++++-
 sbin/fsck_ffs/main.c                                 |    9 +-
 sbin/fsck_ffs/pass1.c                                |   12 +-
 sbin/fsck_ffs/pass1b.c                               |    6 +-
 sbin/fsck_ffs/pass2.c                                |    8 +-
 sbin/fsck_ffs/pass3.c                                |   10 +-
 sbin/fsck_ffs/pass4.c                                |   49 +-
 sbin/fsck_ffs/pass6.c                                |   92 +
 sbin/fsck_ffs/quota2.c                               |  553 ++++++++++
 sbin/fsck_ffs/setup.c                                |   42 +-
 sbin/fsck_ffs/utilities.c                            |   90 +-
 sbin/fsdb/Makefile                                   |    4 +-
 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/man4/man4.x86/ichlpcib.4                   |    7 +-
 sys/arch/x68k/include/cdefs.h                        |    2 +-
 sys/arch/x68k/include/cpufunc.h                      |    2 +-
 sys/arch/x68k/include/ieeefp.h                       |    2 +-
 sys/arch/x68k/include/profile.h                      |    2 +-
 sys/arch/x68k/include/setjmp.h                       |    2 +-
 sys/arch/x68k/usr.bin/Makefile                       |    2 +-
 sys/compat/netbsd32/netbsd32_netbsd.c                |   25 +-
 sys/compat/netbsd32/netbsd32_syscall.h               |   11 +-
 sys/compat/netbsd32/netbsd32_syscallargs.h           |   18 +-
 sys/compat/netbsd32/netbsd32_syscalls.c              |   66 +-
 sys/compat/netbsd32/netbsd32_sysent.c                |   12 +-
 sys/compat/netbsd32/syscalls.master                  |    6 +-
 sys/conf/files                                       |    4 +-
 sys/fs/unionfs/unionfs_vfsops.c                      |    4 +-
 sys/kern/init_sysent.c                               |   12 +-
 sys/kern/syscalls.c                                  |    8 +-
 sys/kern/syscalls.master                             |    6 +-
 sys/kern/vfs_subr.c                                  |    8 +-
 sys/kern/vfs_syscalls.c                              |   55 +-
 sys/kern/vnode_if.c                                  |    6 +-
 sys/miscfs/genfs/layer_extern.h                      |    4 +-
 sys/miscfs/genfs/layer_vfsops.c                      |    8 +-
 sys/rump/fs/lib/libffs/Makefile                      |   10 +-
 sys/rump/include/rump/rump_syscalls.h                |   90 +-
 sys/rump/include/rump/rumpvnode_if.h                 |    4 +-
 sys/rump/librump/rumpkern/rump_syscalls.c            |  337 +-----
 sys/rump/librump/rumpvfs/rumpvnode_if.c              |    6 +-
 sys/sys/Makefile                                     |    4 +-
 sys/sys/mount.h                                      |    9 +-
 sys/sys/quota.h                                      |   55 +
 sys/sys/syscall.h                                    |   11 +-
 sys/sys/syscallargs.h                                |   16 +-
 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                             |  118 ++
 sys/ufs/ffs/ffs_subr.c                               |  102 +-
 sys/ufs/ffs/ffs_vfsops.c                             |   34 +-
 sys/ufs/ffs/fs.h                                     |   11 +-
 sys/ufs/files.ufs                                    |    8 +-
 sys/ufs/ufs/Makefile                                 |    6 +-
 sys/ufs/ufs/quota.h                                  |   54 +-
 sys/ufs/ufs/quota1.h                                 |   95 +
 sys/ufs/ufs/quota2.h                                 |  101 +
 sys/ufs/ufs/quota2_prop.c                            |  261 +++++
 sys/ufs/ufs/quota2_prop.h                            |   45 +
 sys/ufs/ufs/quota2_subr.c                            |   86 +
 sys/ufs/ufs/ufs_extern.h                             |   14 +-
 sys/ufs/ufs/ufs_inode.c                              |    8 +-
 sys/ufs/ufs/ufs_quota.c                              |  972 ++++--------------
 sys/ufs/ufs/ufs_quota.h                              |  135 ++
 sys/ufs/ufs/ufs_quota1.c                             |  734 ++++++++++++++
 sys/ufs/ufs/ufs_quota2.c                             |  423 ++++++++
 sys/ufs/ufs/ufs_vfsops.c                             |   56 +-
 sys/ufs/ufs/ufs_vnops.c                              |   29 +-
 sys/ufs/ufs/ufsmount.h                               |   24 +-
 tests/fs/ffs/Makefile                                |    8 +-
 tests/fs/ffs/h_quota2_server.c                       |   93 +
 tests/fs/ffs/t_quota2_1.c                            |  116 ++
 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/quota/Makefile                               |    9 +-
 usr.bin/quota/quota.1                                |   29 +-
 usr.bin/quota/quota.c                                |  415 ++++---
 133 files changed, 5742 insertions(+), 1695 deletions(-)

diffs (truncated from 10557 to 300 lines):

diff -r 227f979f5c71 -r 7258148b154c distrib/sets/lists/base/shl.mi
--- a/distrib/sets/lists/base/shl.mi    Thu Jan 20 11:17:58 2011 +0000
+++ b/distrib/sets/lists/base/shl.mi    Thu Jan 20 14:24:48 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.570 2011/01/19 21:07:13 he Exp $
+# $NetBSD: shl.mi,v 1.569 2011/01/18 22:21:22 haad Exp $
 #
 # Note:        Don't delete entries from here - mark them as "obsolete" instead,
 #      unless otherwise stated below.
@@ -534,18 +534,18 @@
 ./usr/lib/librumpfs_union.so                   base-rump-shlib
 ./usr/lib/librumpfs_union.so.0                 base-rump-shlib
 ./usr/lib/librumpfs_union.so.0.0               base-rump-shlib
-./usr/lib/librumpfs_zfs.so                     base-rump-shlib         zfs
-./usr/lib/librumpfs_zfs.so.0                   base-rump-shlib         zfs
-./usr/lib/librumpfs_zfs.so.0.0                 base-rump-shlib         zfs
+./usr/lib/librumpfs_zfs.so                     base-rump-shlib
+./usr/lib/librumpfs_zfs.so.0                   base-rump-shlib
+./usr/lib/librumpfs_zfs.so.0.0                 base-rump-shlib
 ./usr/lib/librumpkern_crypto.so                        base-rump-shlib
 ./usr/lib/librumpkern_crypto.so.0              base-rump-shlib
 ./usr/lib/librumpkern_crypto.so.0.0            base-rump-shlib
 ./usr/lib/librumpkern_ksem.so                  base-rump-shlib
 ./usr/lib/librumpkern_ksem.so.0                        base-rump-shlib
 ./usr/lib/librumpkern_ksem.so.0.0              base-rump-shlib
-./usr/lib/librumpkern_solaris.so               base-rump-shlib         zfs
-./usr/lib/librumpkern_solaris.so.0             base-rump-shlib         zfs
-./usr/lib/librumpkern_solaris.so.0.0           base-rump-shlib         zfs
+./usr/lib/librumpkern_solaris.so               base-rump-shlib
+./usr/lib/librumpkern_solaris.so.0             base-rump-shlib
+./usr/lib/librumpkern_solaris.so.0.0           base-rump-shlib
 ./usr/lib/librumpkern_tty.so                   base-rump-shlib
 ./usr/lib/librumpkern_tty.so.0                 base-rump-shlib
 ./usr/lib/librumpkern_tty.so.0.0               base-rump-shlib
diff -r 227f979f5c71 -r 7258148b154c distrib/sets/lists/comp/mi
--- a/distrib/sets/lists/comp/mi        Thu Jan 20 11:17:58 2011 +0000
+++ b/distrib/sets/lists/comp/mi        Thu Jan 20 14:24:48 2011 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: mi,v 1.1574 2011/01/19 21:07:14 he Exp $
+#      $NetBSD: mi,v 1.1573.2.1 2011/01/20 14:24:48 bouyer Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -2111,6 +2111,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
@@ -2224,6 +2225,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
@@ -2784,16 +2787,16 @@
 ./usr/lib/librumpfs_union.a                    comp-c-lib
 ./usr/lib/librumpfs_union_g.a                  -unknown-               debuglib
 ./usr/lib/librumpfs_union_p.a                  comp-c-proflib          profile
-./usr/lib/librumpfs_zfs.a                      comp-c-lib              zfs
-./usr/lib/librumpfs_zfs_p.a                    comp-c-piclib           profile,zfs
+./usr/lib/librumpfs_zfs.a                      comp-c-lib
+./usr/lib/librumpfs_zfs_p.a                    comp-c-piclib           profile
 ./usr/lib/librumpkern_crypto.a                 comp-c-lib
 ./usr/lib/librumpkern_crypto_g.a                       -unknown-               debuglib
 ./usr/lib/librumpkern_crypto_p.a                       comp-c-proflib          profile
 ./usr/lib/librumpkern_ksem.a                   comp-c-lib
 ./usr/lib/librumpkern_ksem_g.a                 -unknown-               debuglib
 ./usr/lib/librumpkern_ksem_p.a                 comp-c-proflib          profile
-./usr/lib/librumpkern_solaris.a                        comp-c-lib              zfs
-./usr/lib/librumpkern_solaris_p.a              comp-c-proflib          profile,zfs
+./usr/lib/librumpkern_solaris.a                        comp-c-lib
+./usr/lib/librumpkern_solaris_p.a              comp-c-proflib          profile
 ./usr/lib/librumpkern_tty.a                    comp-c-lib
 ./usr/lib/librumpkern_tty_g.a                  -unknown-               debuglib
 ./usr/lib/librumpkern_tty_p.a                  comp-c-proflib          profile
diff -r 227f979f5c71 -r 7258148b154c distrib/sets/lists/comp/shl.mi
--- a/distrib/sets/lists/comp/shl.mi    Thu Jan 20 11:17:58 2011 +0000
+++ b/distrib/sets/lists/comp/shl.mi    Thu Jan 20 14:24:48 2011 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.152 2011/01/19 21:07:18 he Exp $
+# $NetBSD: shl.mi,v 1.151 2011/01/18 22:21:22 haad Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -147,10 +147,10 @@
 ./usr/lib/librumpfs_umap_pic.a                 comp-c-piclib
 ./usr/lib/librumpfs_umapfs_pic.a               comp-obsolete           obsolete
 ./usr/lib/librumpfs_union_pic.a                        comp-c-piclib
-./usr/lib/librumpfs_zfs_pic.a                  comp-c-piclib           zfs
+./usr/lib/librumpfs_zfs_pic.a                  comp-c-piclib
 ./usr/lib/librumpkern_crypto_pic.a                     comp-c-piclib
 ./usr/lib/librumpkern_ksem_pic.a               comp-c-piclib
-./usr/lib/librumpkern_solaris_pic.a            comp-c-piclib           zfs
+./usr/lib/librumpkern_solaris_pic.a            comp-c-piclib
 ./usr/lib/librumpkern_tty_pic.a                        comp-c-piclib
 ./usr/lib/librumpkern_z_pic.a                  comp-c-piclib
 ./usr/lib/librumpnet_agr_pic.a         comp-c-piclib
diff -r 227f979f5c71 -r 7258148b154c etc/mtree/NetBSD.dist.tests
--- a/etc/mtree/NetBSD.dist.tests       Thu Jan 20 11:17:58 2011 +0000
+++ b/etc/mtree/NetBSD.dist.tests       Thu Jan 20 14:24:48 2011 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: NetBSD.dist.tests,v 1.23 2011/01/14 13:24:45 pooka Exp $
+#      $NetBSD: NetBSD.dist.tests,v 1.23.2.1 2011/01/20 14:24:50 bouyer Exp $
 
 ./usr/libdata/debug/usr/tests
 ./usr/libdata/debug/usr/tests/atf
@@ -205,6 +205,7 @@
 ./usr/tests/rump/rumpkern/h_server
 ./usr/tests/rump/rumpvfs
 ./usr/tests/sbin
+./usr/tests/sbin/fsck_ffs
 ./usr/tests/sbin/resize_ffs
 ./usr/tests/sys
 ./usr/tests/sys/rc
diff -r 227f979f5c71 -r 7258148b154c include/ssp/ssp.h
--- a/include/ssp/ssp.h Thu Jan 20 11:17:58 2011 +0000
+++ b/include/ssp/ssp.h Thu Jan 20 14:24:48 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ssp.h,v 1.6 2011/01/20 02:58:17 christos Exp $ */
+/*     $NetBSD: ssp.h,v 1.5 2011/01/19 19:21:29 christos Exp $ */
 
 /*-
  * Copyright (c) 2006 The NetBSD Foundation, Inc.
@@ -43,12 +43,7 @@
 # endif
 #endif
 
-#ifdef _NAMESPACE_H_
-#define __ssp_weak_name(fun) _sys ## fun
-#else
-#define __ssp_weak_name(fun) _sys_ ## fun
-#endif
-
+#define __ssp_weak_name(fun) _ ## fun
 #define __ssp_inline static __inline __attribute__((__always_inline__))
 
 #define __ssp_bos(ptr) __builtin_object_size(ptr, __SSP_FORTIFY_LEVEL > 1)
diff -r 227f979f5c71 -r 7258148b154c lib/libc/compat/arch/alpha/sys/Makefile.inc
--- a/lib/libc/compat/arch/alpha/sys/Makefile.inc       Thu Jan 20 11:17:58 2011 +0000
+++ b/lib/libc/compat/arch/alpha/sys/Makefile.inc       Thu Jan 20 14:24:48 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.1.40.1 2011/01/20 14:24:50 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 227f979f5c71 -r 7258148b154c 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  Thu Jan 20 14:24:48 2011 +0000
@@ -0,0 +1,38 @@
+/*     $NetBSD: compat_quotactl.S,v 1.1.2.1 2011/01/20 14:24:50 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 227f979f5c71 -r 7258148b154c lib/libc/compat/arch/arm/sys/Makefile.inc
--- a/lib/libc/compat/arch/arm/sys/Makefile.inc Thu Jan 20 11:17:58 2011 +0000
+++ b/lib/libc/compat/arch/arm/sys/Makefile.inc Thu Jan 20 14:24:48 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.1.40.1 2011/01/20 14:24:50 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 227f979f5c71 -r 7258148b154c 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    Thu Jan 20 14:24:48 2011 +0000
@@ -0,0 +1,38 @@
+/*     $NetBSD: compat_quotactl.S,v 1.1.2.1 2011/01/20 14:24:50 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 227f979f5c71 -r 7258148b154c lib/libc/compat/arch/hppa/sys/Makefile.inc
--- a/lib/libc/compat/arch/hppa/sys/Makefile.inc        Thu Jan 20 11:17:58 2011 +0000
+++ b/lib/libc/compat/arch/hppa/sys/Makefile.inc        Thu Jan 20 14:24:48 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.1.40.1 2011/01/20 14:24:50 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 227f979f5c71 -r 7258148b154c 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   Thu Jan 20 14:24:48 2011 +0000
@@ -0,0 +1,38 @@
+/*     $NetBSD: compat_quotactl.S,v 1.1.2.1 2011/01/20 14:24:50 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"



Home | Main Index | Thread Index | Old Index