Home | History | Annotate | only in /src/lib/libc/compat/arch/mips/sys
History log of /src/lib/libc/compat/arch/mips/sys
RevisionDateAuthorComments
 1.2 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.1 17-Sep-2005  tsutsui branches: 1.1.40;
Switch mips to the new libc compat code layout.
 1.1.40.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.2 14-Dec-2009  matt Merge from matt-nb5-mips64
 1.1 17-Sep-2005  tsutsui branches: 1.1.34;
Switch mips to the new libc compat code layout.
 1.1.34.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.
 1.4 14-Dec-2009  matt Merge from matt-nb5-mips64
 1.3 14-Dec-2009  matt Merge from matt-nb5-mips64.
 1.2 28-Apr-2008  martin branches: 1.2.8; 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 17-Sep-2005  tsutsui branches: 1.1.18;
Switch mips to the new libc compat code layout.
 1.1.18.1 18-May-2008  yamt sync with head.
 1.2.14.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.
 1.2.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2.8.1 28-Apr-2008  martin file compat___semctl.S was added on branch christos-time_t on 2008-04-28 20:22:59 +0000
 1.2 14-Dec-2009  matt Merge from matt-nb5-mips64
 1.1 17-Sep-2005  tsutsui branches: 1.1.34;
Switch mips to the new libc compat code layout.
 1.1.34.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.
 1.4 14-Dec-2009  matt Merge from matt-nb5-mips64
 1.3 14-Dec-2009  matt Merge from matt-nb5-mips64.
 1.2 28-Apr-2008  martin branches: 1.2.8; 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 17-Sep-2005  tsutsui branches: 1.1.18;
Switch mips to the new libc compat code layout.
 1.1.18.1 18-May-2008  yamt sync with head.
 1.2.14.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.
 1.2.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2.8.1 28-Apr-2008  martin file compat___sigtramp1.S was added on branch christos-time_t on 2008-04-28 20:22:59 +0000
 1.3 14-Dec-2009  matt Merge from matt-nb5-mips64.
 1.2 28-Apr-2008  martin branches: 1.2.8; 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 17-Sep-2005  tsutsui branches: 1.1.18;
Switch mips to the new libc compat code layout.
 1.1.18.1 18-May-2008  yamt sync with head.
 1.2.14.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.
 1.2.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2.8.1 28-Apr-2008  martin file compat_msgctl.S was added on branch christos-time_t on 2008-04-28 20:22:59 +0000
 1.2 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.1 20-Jan-2011  bouyer branches: 1.1.2;
file compat_quotactl.S was initially added on branch bouyer-quota2.
 1.1.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.3 14-Dec-2009  matt Merge from matt-nb5-mips64.
 1.2 28-Apr-2008  martin branches: 1.2.8; 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 17-Sep-2005  tsutsui branches: 1.1.18;
Switch mips to the new libc compat code layout.
 1.1.18.1 18-May-2008  yamt sync with head.
 1.2.14.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.
 1.2.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2.8.1 28-Apr-2008  martin file compat_shmctl.S was added on branch christos-time_t on 2008-04-28 20:22:59 +0000
 1.3 14-Dec-2009  matt Merge from matt-nb5-mips64.
 1.2 28-Apr-2008  martin branches: 1.2.8; 1.2.14;
Remove clause 3 and 4 from TNF licenses
 1.1 17-Sep-2005  tsutsui branches: 1.1.18;
Switch mips to the new libc compat code layout.
 1.1.18.1 18-May-2008  yamt sync with head.
 1.2.14.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.
 1.2.8.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2.8.1 28-Apr-2008  martin file compat_sigaction.S was added on branch christos-time_t on 2008-04-28 20:22:59 +0000
 1.3 15-Oct-2020  skrll Remove '_OFFSETOF' prefix for genassm(1) generate CPP identifers for
consistency with other arches.

NFCI and libc.so is the same before and after.
 1.2 14-Dec-2009  matt Merge from matt-nb5-mips64
 1.1 17-Sep-2005  tsutsui branches: 1.1.34;
Switch mips to the new libc compat code layout.
 1.1.34.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.
 1.2 14-Dec-2009  matt Merge from matt-nb5-mips64
 1.1 17-Sep-2005  tsutsui branches: 1.1.34;
Switch mips to the new libc compat code layout.
 1.1.34.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.
 1.2 14-Dec-2009  matt Merge from matt-nb5-mips64
 1.1 17-Sep-2005  tsutsui branches: 1.1.34;
Switch mips to the new libc compat code layout.
 1.1.34.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.
 1.2 14-Dec-2009  matt Merge from matt-nb5-mips64
 1.1 17-Sep-2005  tsutsui branches: 1.1.34;
Switch mips to the new libc compat code layout.
 1.1.34.1 18-Aug-2009  matt Adapt to be ABI agnostic. Fix RCSIDs.

RSS XML Feed