Home | History | Annotate | Download | only in rumpkern
History log of /src/sys/rump/librump/rumpkern/rump_syscalls.c
RevisionDateAuthorComments
 1.164  09-Oct-2024  christos regen
 1.163  05-Oct-2024  mlelstv regen
 1.162  03-Oct-2024  christos regen
 1.161  20-May-2024  christos regen
 1.160  19-May-2024  christos regen
 1.159  28-Jul-2023  christos regen
 1.158  10-Jul-2023  christos Regen
 1.157  01-Nov-2021  thorpej regen for "struct sigaltstack" -> "stack_t"
 1.156  19-Sep-2021  thorpej Regen for eventfd(2) and timerfd(2).
 1.155  02-Nov-2020  christos regen
 1.154  14-Aug-2020  riastradh branches: 1.154.2;
regen
 1.153  11-Jun-2020  dholland Regen with new makesyscalls.

(the large diff of rump_syscalls.h has been checked and was the point
of the makesyscalls change)
 1.152  02-Jun-2020  kamil Regenerate syscalls

Respect syscall alias names in rump.

No binary change in this version.

The previous commit was interrupted in the middle by CVS network outage.
 1.151  02-Jun-2020  kamil Regenerate native NetBSD syscalls

The only change is rump repecting syscall alias names.

No binary change.
 1.150  16-May-2020  christos Add ACL support for FFS. From FreeBSD.
 1.149  26-Apr-2020  thorpej Regen for futex call relocation.
 1.148  26-Apr-2020  thorpej Regen for native futex calls.
 1.147  25-Apr-2020  bouyer Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.146  22-Apr-2020  thorpej Regen for removal of _lwp_gettid(2).
 1.145  04-Apr-2020  thorpej branches: 1.145.2;
Regen for _lwp_gettid(2).
 1.144  21-Jan-2020  pgoyette Regen
 1.143  09-Oct-2019  christos branches: 1.143.2;
regen
 1.142  22-Sep-2019  christos regen
 1.141  27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.140  10-Aug-2018  pgoyette Regen
 1.139  31-Jul-2018  rjs regen.
 1.138  12-Jul-2018  maxv Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

* Removes "options PERFCTRS", the associated includes, and the associated
ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
good.

* Removes the PMC code of ARM XSCALE.

* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
definitions are put in sysarch.h.

* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
netbsd32 and rump.

* Removes the pmc_evid_t and pmc_ctr_t types.

* Removes all the associated man pages. The sets are marked as obsolete.
 1.137  06-Jan-2018  kamil branches: 1.137.2; 1.137.4;
Revert vadvise(2) removal

This system call was used in legacy Lisp code, that was inherited to modern
age and still compiled against supported compat layers (e.g. in clisp,
oaklisp, Franz Lisp).

It used to instruct the kernel about paging policy (G/C aware, flush etc).

Newly compiled code (assuming that it will detect vadvise()) will use the
libc stub for vadvise(). The headers for this interface are gone.

vadvise(2) could be marked as COMPAT_80, but as long as we support ultrix,
sunos or aout68k ABI, don't bother with this.

Requested by <mrg>
 1.136  19-Dec-2017  kamil Drop SYS_vadvise

The (o)vadvise syscall is dummy since the beginning of NetBSD.

It is an obsolete remnant from the old UNIX.

Sponsored by <The NetBSD Foundation>
 1.135  19-Dec-2017  kamil Drop SYS_sbrk

sbrk - change data segment size

This syscall is dummy since the inception of the project.

Sponsored by <The NetBSD Foundation>
 1.134  19-Dec-2017  kamil Drop the sstk(2) syscall stub

sstk - change stack section size

This functionality has never been implemented and is a remnant from 16-bit
UNIX. This stub appeared with the first NetBSD commit.

Sponsored by <The NetBSD Foundation>
 1.133  08-Dec-2017  christos regen
XXX: pullup-8
 1.132  10-May-2017  riastradh regen
 1.131  13-Jan-2017  christos branches: 1.131.6;
regen
 1.130  02-Nov-2016  pgoyette Forgot these two generated files...
 1.129  03-Jul-2016  christos branches: 1.129.2;
regen
 1.128  06-May-2016  pooka regen syscall files
 1.127  23-Apr-2016  christos regen
 1.126  03-Apr-2016  christos regen
 1.125  03-Apr-2016  christos regen
 1.124  02-Apr-2016  christos regen
 1.123  26-Jan-2016  pooka regen syscall files
 1.122  26-Jan-2016  pooka Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
 1.121  03-Dec-2015  pgoyette Regen
 1.120  01-Dec-2015  pgoyette Regen
 1.119  30-Nov-2015  pgoyette Finish the regen - some of the files from sys/kern got committed
accidentally with the fix to makesyscalls.sh - sorry about that.
 1.118  30-Nov-2015  pgoyette Regen for 7.99.23
 1.117  14-Oct-2015  christos CID 1327233: Expicitly ignore return values of syscalls that don't fail.
 1.116  10-Oct-2015  pgoyette Regen
 1.115  24-Sep-2015  christos regen
 1.114  24-Aug-2015  pooka regen
 1.113  18-Jun-2015  pooka regen
 1.112  13-May-2015  pgoyette Regenerate
 1.111  10-May-2015  pgoyette Regen for changes related to separation of compat_sysv syscalls into a
separate module.
 1.110  09-May-2015  pgoyette Regen again, this time without the extra word in the "generated from" line.
 1.109  09-May-2015  pgoyette Regen from syscalls.master
 1.108  08-Apr-2015  justin regen after syscall update
 1.107  08-Mar-2015  christos regen
 1.106  07-Mar-2015  christos regen
 1.105  25-Feb-2015  christos belated regen (posix_fallocate, readlinkat)
 1.104  25-Jul-2014  dholland branches: 1.104.2; 1.104.4;
Regen for fdiscard and posix_fallocate.
 1.103  24-Jul-2014  pooka regen
 1.102  23-Jul-2014  pooka regen
 1.101  12-Jun-2014  joerg Regenerate
 1.100  27-Apr-2014  pooka Eliminate weak symbols from rump kernel syscall handlers, part 5:

regen syscalls to eliminate weak aliases and link-time initialization
 1.99  09-Apr-2014  pooka regen
 1.98  14-Mar-2014  pooka branches: 1.98.2;
regen: time/timer related syscalls for rump kernels
 1.97  11-Dec-2013  pooka reregengen
 1.96  09-Dec-2013  pooka regen
 1.95  09-Dec-2013  pooka regen
 1.94  09-Dec-2013  pooka regen
 1.93  09-Dec-2013  pooka regen
 1.92  17-Oct-2013  njoly Regen for mknodat(2) device argument type change.
 1.91  10-Sep-2013  pooka regen
 1.90  03-Sep-2013  pooka regen
 1.89  30-Aug-2013  pooka regen
 1.88  15-Aug-2013  pooka regen
 1.87  10-May-2013  christos branches: 1.87.2;
regen (stale)
 1.86  07-Mar-2013  pooka regen
 1.85  17-Jan-2013  pooka regen
 1.84  02-Oct-2012  christos regen
 1.83  20-Sep-2012  pooka regen
 1.82  03-Aug-2012  pooka branches: 1.82.2;
reregen
 1.81  03-Aug-2012  pooka regen
 1.80  20-Jul-2012  pooka reregen
 1.79  20-Jul-2012  pooka regen
 1.78  08-Mar-2012  joerg Implement sem_timedwait.
 1.77  11-Feb-2012  martin branches: 1.77.2;
Regen for posix_spawn
 1.76  01-Feb-2012  dholland Regen syscalls with proper id info.
 1.75  01-Feb-2012  dholland Change the syscall API for quotas over to the new non-proplib one.

- struct vfs_quotactl_args -> struct quotactl_args
- add sys/stdint.h to sys/quotactl.h for clean userland build
- install sys/quotactl.h in /usr/include
- update set lists for same
- add new marshalling code in libquota
- add new unmarshalling code in vfs_syscalls.c
- discard proplib interpreter code in vfs_quotactl.c
- add dispatching code for the 14 quotactl ops in vfs_quotactl.c
- mark the proplib quotactl syscall obsolete
- add a new syscall number for the new quotactl syscall
- change the name of the syscall to __quotactl()
- remove the decl of the old quotactl from quota/quotaprop.h
- add a decl of the new quotactl to sys/quotactl.h
- update the libc build
- update ktruss
- remove proplib marshalling code from libquota
- update copy of syscall table in gdb ppc sources
- hack rumphijack to accomodate new quotactl name (as I recall,
pooka wanted such a name change to simplify something, but I
don't really see what/how)

This change appears to require a kernel version bump for rumpish
reasons.
 1.74  08-Aug-2011  manu branches: 1.74.2; 1.74.6;
regen
 1.73  18-Jul-2011  drochner regen after *setxattr constification
 1.72  26-Jun-2011  christos regen
 1.71  08-Mar-2011  pooka regen: include rumpclient syscall headers from source tree instead of host
 1.70  06-Mar-2011  bouyer 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.
 1.69  22-Feb-2011  pooka omstart
 1.68  22-Feb-2011  pooka regenagain: make returning off_t work (without breaking other return
types on some archs)
 1.67  22-Feb-2011  pooka unregen
 1.66  22-Feb-2011  pooka regen: cast rval to return type instead of just using rval[0]
 1.65  21-Feb-2011  pooka regen: NOERR syscalls
 1.64  21-Feb-2011  pooka regen: preadv/pwritev
 1.63  21-Feb-2011  pooka regen: always explicitly set errno (fixes some apps)
 1.62  21-Feb-2011  pooka commit regen for int -> pid_t fix
 1.61  17-Jan-2011  pooka branches: 1.61.2;
regen: more compat syscalls
 1.60  17-Jan-2011  pooka regen: rework rump syscall stubs (see makesyscalls.sh log for details)
 1.59  10-Jan-2011  christos branches: 1.59.2;
regen
 1.58  30-Dec-2010  pooka regen for comments
 1.57  30-Dec-2010  pooka regen: SYCALL_NOSYS in rump_sysent[]
 1.56  30-Dec-2010  pooka regen: whitespace polish police
 1.55  17-Nov-2010  pooka regen: optimize local syscall path a bit
 1.54  11-Nov-2010  pooka +posix_fadvise
 1.53  04-Nov-2010  pooka regen: standalone client support for rump syscalls
 1.52  01-Nov-2010  pooka regen: whitespace blues
 1.51  07-Sep-2010  pooka regen: getcwd
 1.50  06-Sep-2010  pooka regen: umask
 1.49  30-Aug-2010  pooka regen: rump syscalls for kern_prot interfaces
 1.48  30-Aug-2010  pooka Empty commit to show makesyscalls.sh rev 1.99 didn't change anything (yet).
 1.47  19-Jul-2010  pooka Regen syscalls to get compat header included.
 1.46  10-Jun-2010  pooka regen: ksem syscalls
 1.45  04-Jun-2010  njoly Regen for pathconf/fpathconf rumpification.
 1.44  11-May-2010  pooka regen: _RUMPKERNEL -> _KERNEL
 1.43  27-Apr-2010  pooka regen: rump_enosys -> sys_nomodule for modular system calls
 1.42  21-Apr-2010  pooka regen: get/setrlimit
 1.41  05-Mar-2010  pooka branches: 1.41.2;
regen (for lfs syscalls #ifdef removal).
 1.40  26-Nov-2009  pooka branches: 1.40.2;
regen for rump_sys_pipe()
 1.39  26-Nov-2009  pooka regen: retval -> retval[2]
 1.38  26-Nov-2009  pooka regen: rump_sys_modctl()
 1.37  13-Oct-2009  pooka regen: fix rump varargs syscalls prototypes
 1.36  21-Jul-2009  pooka regen: fh syscalls
 1.35  15-May-2009  pooka regen: removal of pad arguments from the public interfaces
 1.34  28-Mar-2009  pooka regen: new syscalls
 1.33  19-Mar-2009  pooka regen: rump_sys_mount()
 1.32  18-Mar-2009  pooka regen: kevent and kqueue
 1.31  18-Mar-2009  pooka regen: arg -> callarg
 1.30  18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.29  20-Feb-2009  pooka regen: make syscalls through a table
 1.28  26-Jan-2009  pooka branches: 1.28.2;
regen for new syscalls
 1.27  23-Jan-2009  pooka regen: int *error is dead.
 1.26  14-Jan-2009  pooka regen: internal prototype for rump_syscalls.c
 1.25  13-Jan-2009  pooka Regen. We now have compat __RENAME(). E.g. what was previously
rump_sys___stat50() is now rump_sys_stat() from the code.
 1.24  11-Jan-2009  tsutsui Regen to pull proper "created from" revision strings.
 1.23  11-Jan-2009  christos merge christos-time_t
 1.22  26-Nov-2008  pooka regen
 1.21  16-Nov-2008  pooka regen
 1.20  16-Oct-2008  wrstuden branches: 1.20.2; 1.20.4; 1.20.8;
Regen syscall tables. I forgot to do it after revivesa. While pooka
did some, not all are regenerated. Do them all at once for consistency.
 1.19  16-Oct-2008  pooka regen: ioctl
 1.18  15-Oct-2008  pooka regen: few networking calls
 1.17  15-Oct-2008  wrstuden Merge wrstuden-revivesa into HEAD.
 1.16  13-Oct-2008  pooka regen: properly create weak references to sys_foo()
 1.15  13-Oct-2008  pooka regen - weak aliasing for default syscall
 1.14  07-Sep-2008  pooka regen: return -1 for error
 1.13  01-Aug-2008  pooka regen: sys___sysctl
 1.12  16-Jul-2008  pooka regen: fsync
 1.11  07-Jul-2008  pooka branches: 1.11.2;
regen: u times, lu times, you know i had my share
 1.10  01-Jul-2008  pooka regen
 1.9  17-Jun-2008  tsutsui Regen from syscalls.master rev 1.204.
 1.8  29-May-2008  pooka branches: 1.8.2;
regen
 1.7  24-Apr-2008  ad branches: 1.7.2; 1.7.4;
Regen.
 1.6  21-Apr-2008  ad Regen.
 1.5  27-Mar-2008  ad branches: 1.5.2; 1.5.4; 1.5.6;
Regen.
 1.4  24-Mar-2008  yamt regen.
 1.3  24-Mar-2008  yamt regen.
 1.2  21-Mar-2008  ad branches: 1.2.2; 1.2.4;
Er, regen...
 1.1  11-Mar-2008  pooka branches: 1.1.2;
gen
 1.1.2.3  24-Mar-2008  yamt sync with head.
 1.1.2.2  17-Mar-2008  yamt sync with head.
 1.1.2.1  11-Mar-2008  yamt file rump_syscalls.c was added on branch yamt-lazymbuf on 2008-03-17 09:15:46 +0000
 1.2.4.2  24-Mar-2008  keiichi sync with head.
 1.2.4.1  21-Mar-2008  keiichi file rump_syscalls.c was added on branch keiichi-mipv6 on 2008-03-24 07:16:28 +0000
 1.2.2.2  23-Mar-2008  matt sync with HEAD
 1.2.2.1  21-Mar-2008  matt file rump_syscalls.c was added on branch matt-armv6 on 2008-03-23 02:05:09 +0000
 1.5.6.2  04-Jun-2008  yamt sync with head
 1.5.6.1  18-May-2008  yamt sync with head.
 1.5.4.7  17-Jan-2009  mjf Sync with HEAD.
 1.5.4.6  28-Sep-2008  mjf Sync with HEAD.
 1.5.4.5  02-Jul-2008  mjf Sync with HEAD.
 1.5.4.4  29-Jun-2008  mjf Sync with HEAD.
 1.5.4.3  02-Jun-2008  mjf Sync with HEAD.
 1.5.4.2  03-Apr-2008  mjf Sync with HEAD.
 1.5.4.1  27-Mar-2008  mjf file rump_syscalls.c was added on branch mjf-devfs2 on 2008-04-03 12:43:11 +0000
 1.5.2.9  29-Dec-2008  christos regen
 1.5.2.8  28-Dec-2008  christos missing const
 1.5.2.7  27-Dec-2008  christos merge with head.
 1.5.2.6  20-Nov-2008  christos catch up with head.
 1.5.2.5  20-Nov-2008  christos merge with head.
 1.5.2.4  09-Nov-2008  christos regen
 1.5.2.3  09-Nov-2008  christos regen
 1.5.2.2  01-Nov-2008  christos Sync with head.
 1.5.2.1  29-Mar-2008  christos Welcome to the time_t=long long dev_t=uint64_t branch.
 1.7.4.6  24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.7.4.5  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.7.4.4  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.4.3  28-May-2008  wrstuden Regen.
 1.7.4.2  14-May-2008  wrstuden Per discussion with ad, remove most of the #include <sys/sa.h> lines
as they were including sa.h just for the type(s) needed for syscallargs.h.

Instead, create a new file, sys/satypes.h, which contains just the
types needed for syscallargs.h. Yes, there's only one now, but that
may change and it's probably more likely to change if it'd be difficult
to handle. :-)

Per discussion with matt at n dot o, add an include of satypes.h to
sigtypes.h. Upcall handlers are kinda signal handlers, and signalling
is the header file that's already included for syscallargs.h that
closest matches SA.

This shaves about 3000 lines off of the diff of the branch relative
to the base. That also represents about 18% of the total before this
checkin.

I think this reduction is very good thing.
 1.7.4.1  10-May-2008  wrstuden Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
 1.7.2.6  09-Oct-2010  yamt sync with head
 1.7.2.5  11-Aug-2010  yamt sync with head.
 1.7.2.4  11-Mar-2010  yamt sync with head
 1.7.2.3  19-Aug-2009  yamt sync with head.
 1.7.2.2  16-May-2009  yamt sync with head
 1.7.2.1  04-May-2009  yamt sync with head.
 1.8.2.3  18-Jul-2008  simonb Sync with head.
 1.8.2.2  03-Jul-2008  simonb Sync with head.
 1.8.2.1  18-Jun-2008  simonb Sync with head.
 1.11.2.3  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.11.2.2  19-Oct-2008  haad Sync with HEAD.
 1.11.2.1  07-Jul-2008  haad file rump_syscalls.c was added on branch haad-dm on 2008-10-19 22:18:07 +0000
 1.20.8.1  21-Apr-2010  matt sync to netbsd-5
 1.20.4.1  17-Sep-2011  bouyer Pull up following revision(s) (requested by manu in ticket #1658):
sys/rump/include/rump/rump_syscalls.h: revision 1.52 via patch
sys/kern/init_sysent.c: revision 1.257 via patch
sys/rump/include/rump/rumpvnode_if.h: revision 1.12 via patch
lib/libc/sys/Makefile.inc: revision 1.208 via patch
sys/sys/syscallargs.h: revision 1.227 via patch
sys/kern/kern_exec.c: revision 1.317 via patch
sys/rump/librump/rumpkern/rump_syscalls.c: revision 1.74 via patch
include/limits.h: revision 1.30 via patch
sys/kern/syscalls.master: revision 1.251 via patch
sys/sys/vnode_if.h: revision 1.83 via patch
sys/sys/fcntl.h: revision 1.40 via patch
sys/sys/fcntl.h: revision 1.41 via patch
sys/kern/vfs_syscalls.c: revision 1.433 via patch
sys/rump/librump/rumpvfs/rumpvnode_if.c: revision 1.11 via patch
sys/kern/syscalls.c: revision 1.248 via patch
sys/sys/syscall.h: revision 1.244 via patch
lib/libc/sys/link.2: revision 1.25 via patch
include/unistd.h: revision 1.127 via patch
distrib/sets/lists/comp/mi: revision 1.1659 via patch
sys/sys/stat.h: revision 1.61 via patch
First stage of support for Extended API set 2. Most of the think is
unimplemented, except enough of linkat(2) to hardlink to a symlink.
Everything new in headers is guarded #ifdef _INCOMPLETE_XOPEN_C063 since
some software (e.g.: xcvs in our own tree) will assume they can use openat(2)
when AT_FDCWD is defined. _INCOMPLETE_XOPEN_C063 will go away once support
will be completed.
regen
improve comment about AT_* defines: they are not only used by linkat(2)
Add macros to hide OpenGroup extened API set 2 from GNU configure. This
is a temporary workaround until the implementation is completed.
 1.20.2.3  28-Apr-2009  skrll Sync with HEAD.
 1.20.2.2  03-Mar-2009  skrll Sync with HEAD.
 1.20.2.1  19-Jan-2009  skrll Sync with HEAD.
 1.28.2.2  23-Jul-2009  jym Sync with HEAD.
 1.28.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.40.2.4  06-Nov-2010  uebayasi Sync with HEAD.
 1.40.2.3  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.40.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.40.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.41.2.4  21-Apr-2011  rmind sync with head
 1.41.2.3  05-Mar-2011  rmind sync with head
 1.41.2.2  03-Jul-2010  rmind sync with head
 1.41.2.1  30-May-2010  rmind sync with head
 1.59.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.61.2.2  05-Mar-2011  bouyer Sync with HEAD
 1.61.2.1  20-Jan-2011  bouyer 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.
 1.74.6.2  11-Mar-2012  mrg sync to latest -current
 1.74.6.1  18-Feb-2012  mrg merge to -current.
 1.74.2.4  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.74.2.3  23-Jan-2013  yamt sync with head
 1.74.2.2  30-Oct-2012  yamt sync with head
 1.74.2.1  17-Apr-2012  yamt sync with head
 1.77.2.1  14-Apr-2015  msaitoh Pull up following revision(s) (requested by khorben in ticket #1264):

include/unistd.h 1.144
sys/kern/init_sysent.c regen
sys/kern/syscalls.c regen
sys/kern/syscalls.master 1.272
sys/rump/include/rump/rump_syscalls.h regen
sys/rump/librump/rumpkern/rump_syscalls.c regen
sys/sys/syscall.h regen
sys/sys/syscallargs.h regen
sys/compat/netbds32/netbsd32_syscall.h regen
sys/compat/netbds32/netbsd32_syscallargs.h regen
sys/compat/netbds32/netbsd32_syscalls.c regen
sys/compat/netbds32/netbsd32_sysent.c regen
sys/compat/netbsd32/syscalls.master 1.102

Fix return type of the readlinkat(2) syscall. PR#49684.
 1.82.2.5  03-Dec-2017  jdolecek update from HEAD
 1.82.2.4  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.82.2.3  23-Jun-2013  tls resync from head
 1.82.2.2  25-Feb-2013  tls resync with head
 1.82.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.87.2.1  18-May-2014  rmind sync with head
 1.98.2.1  10-Aug-2014  tls Rebase.
 1.104.4.9  05-Dec-2016  skrll Sync with HEAD
 1.104.4.8  09-Jul-2016  skrll Sync with HEAD
 1.104.4.7  29-May-2016  skrll Sync with HEAD
 1.104.4.6  22-Apr-2016  skrll Sync with HEAD
 1.104.4.5  19-Mar-2016  skrll Sync with HEAD
 1.104.4.4  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.104.4.3  22-Sep-2015  skrll Sync with HEAD
 1.104.4.2  06-Jun-2015  skrll Sync with HEAD
 1.104.4.1  06-Apr-2015  skrll Sync with HEAD
 1.104.2.1  24-Feb-2015  martin regen
 1.129.2.2  20-Mar-2017  pgoyette Sync with HEAD
 1.129.2.1  04-Nov-2016  pgoyette Sync with HEAD
 1.131.6.1  11-May-2017  pgoyette Sync with HEAD
 1.137.4.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.137.4.1  10-Jun-2019  christos Sync with HEAD
 1.137.2.9  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.137.2.8  28-Jul-2018  pgoyette Sync with HEAD
 1.137.2.7  18-Apr-2018  pgoyette Regen
 1.137.2.6  27-Mar-2018  pgoyette Regen
 1.137.2.5  25-Mar-2018  pgoyette Regen
 1.137.2.4  17-Mar-2018  pgoyette Regen
 1.137.2.3  16-Mar-2018  pgoyette Regen
 1.137.2.2  15-Mar-2018  pgoyette Regen
 1.137.2.1  10-Mar-2018  pgoyette Regen
 1.143.2.1  25-Jan-2020  ad Sync with head.
 1.145.2.1  25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.154.2.3  14-Dec-2020  thorpej Regen for timerfd.
 1.154.2.2  14-Dec-2020  thorpej Regen for eventfd(2).
 1.154.2.1  14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed