Home | History | Annotate | Download | only in ffs
History log of /src/tests/fs/ffs/Makefile
RevisionDateAuthorComments
 1.22  15-May-2020  christos PR/55102: Kamil Rytarowski: Duplicate fifo_vnodeop_entries,
fifo_vnodeop_opv_desc symbols.

Many filesystems ffs, lfs, ulfs, chfs, ext2fs etc. use fifofs
internally for their fifo vnops. NFS does too, but it also needs
networking anyway. Unfortunately fifofs brings in a lot of the
networking code so that the rumpkernel is not well partition. In
addition the fifo code is rarely used.

The existing hack depended on duplicating the above symbols and
adding minimal functionality for the majority of the the tests
(except the ffs and the puffs one). In these two cases both symbols
were loaded and the symbol sizes clashed which broke the sanitizers.
While this can be fixed with weak symbols and other kinds of
indirection, it is more straight forward to select between the
minimal and the full fifofs implementation by introducing a new
shared library librumpvfs_nofifofs.
 1.21  10-Apr-2020  christos New extended attributes test (does not work until we commit kernel changes)
 1.20  01-Mar-2020  christos Centralize the base rump libraries into a variable used by all the other
Makefiles so that we can make changes to it centrally as needed and have
less mess. Fixes the sun2 build that needs rumpvfs after librump after
the latest changes.
 1.19  22-Mar-2017  jdolecek branches: 1.19.12;
add tests for the mount update from rw to rw+log, which used to case the panic
reported in PR kern/52056
 1.18  07-Jan-2015  pooka branches: 1.18.2; 1.18.4;
Move sysproxy support into a separate component, rumpkern_sysproxy,
instead of it being always provided by the rump kernel base. This
move accomplishes two things:

1) it is no longer necessary to provide sysproxy hypercall stubs for
platforms which do not want to use sysproxy
2) it is easier to reason about the security aspects, since configurations
not linking the sysproxy component simply do not support remote
system calls

discussed on rumpkernel-users
 1.17  18-Jan-2012  bouyer Make parts of the quota tests useable for more than quotas:
- rename h_quota2_server to h_ffs_server, there's nothing about quotas
in there.
- extract non-quota parts of quotas_common.sh to ffs_common.sh
 1.16  09-Mar-2011  tron branches: 1.16.4;
Don't descend into non-existing subdirectory "clients".
 1.15  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.14  19-Nov-2010  pooka branches: 1.14.2;
test snapshots on ffsv2 too
 1.13  05-Nov-2010  pooka test fss with underlying fs mounted with MNT_LOG
 1.12  23-Sep-2010  he Reorder the library specifications, so that we don't depend on the
library dependencies recorded in shared libraries, allowing these
to be linked statically as well.
 1.11  19-Jul-2010  pooka Need to use the ${PRINTOBJDIR} trick for LIBISPRIVATE ...
 1.10  19-Jul-2010  pooka Include h_fsmacros instead of ffs.c and link in test lib.
 1.9  14-Jul-2010  pooka Convert "The Original" rename race test from to vfs and retire the
ffs/tmpfs versions. The only difference is that the origamical
one mounted ffs with MNT_LOG (and therein actually lay the bug).
 1.8  30-Jun-2010  njoly Small xfail testcase to exercise 48k ffs image mount, from problem
reported by Hubert Feyrer on netbsd-users@.
 1.7  12-Apr-2010  pooka test for the very basic snapshot features
 1.6  29-Mar-2010  pooka regression test for fifos on ffs

XXX: same test apart for mount/unmount could be used on other
fifo-supporting file systems (r/w support required, though).
 1.5  31-Jan-2010  mlelstv filesystems now use getdisksize() which is in librumpdev_disk.
 1.4  02-May-2009  pooka branches: 1.4.2;
Merge librumpfs_ufs into librumpfs_ffs. This reflects what happened
with the ffs kernel module and follows the trend of retiring ufs.
It also allows to get rid of a special case kludge in runtime module
loading, since ufs was not really a module. librumpfs_ufs is now
obsoleted and ffs consumers should be linked solely against
librumpfs_ffs.
 1.3  26-Apr-2009  pooka Use rump_sys_mount() instead of ukfs_mount(). Just a few more
steps and we can have a switch for if we want to run tests against
a rump kernel or a real kernel.
 1.2  14-Apr-2009  pooka WARNS=4
 1.1  08-Apr-2009  pooka regression test for kern/40948
 1.4.2.2  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.4.2.1  02-May-2009  jym file Makefile was added on branch jym-xensuspend on 2009-05-13 19:19:22 +0000
 1.14.2.7  11-Feb-2011  bouyer Add a test which cause the kernel to walk a quota list where all entries
are not in the header disk block, and at last 2 of them are in the same
non-header disk block.
 1.14.2.6  09-Feb-2011  bouyer Check that upgrading a R/O to R/W mount will properly enable quota2.
 1.14.2.5  07-Feb-2011  bouyer Test clearing of quota entries
 1.14.2.4  02-Feb-2011  bouyer Check that the kernel enforces the quota limits and grace times.
 1.14.2.3  30-Jan-2011  bouyer Add tests cases for quotactl("set")
 1.14.2.2  28-Jan-2011  bouyer Add rump versions of quota utilities, to be used by tests.
Add a test which figures if we can retrieve quota values from
the kernel.
 1.14.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.16.4.1  17-Apr-2012  yamt sync with head
 1.18.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.18.2.1  26-Apr-2017  pgoyette Sync with HEAD
 1.19.12.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.19.12.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed