Home | History | Annotate | Download | only in filecorefs
History log of /src/sys/fs/filecorefs/filecore_extern.h
RevisionDateAuthorComments
 1.22  23-Jun-2013  dholland Stick ffs_, ext2_, chfs_, filecore_, cd9660_, or mfs_ in front of
the following symbols so as to disambiguate fully. (Christos already
did the lfs ones.)

lblkno
lblktosize
lfragtosize
numfrags
blkroundup
fragroundup
 1.21  19-Jun-2013  dholland blkoff() -> filecore_blkoff()
blksize() -> filecore_blksize()
 1.20  23-May-2011  rmind branches: 1.20.4; 1.20.14;
Convert some simple_lock(9) uses to mutex(9) and malloc(9) to kmem(9).
 1.19  14-Mar-2009  dsl branches: 1.19.4; 1.19.6;
Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.18  28-Jun-2008  rumble branches: 1.18.4; 1.18.10;
Create sysctl entries during module initialisation and destroy them
appropriately.

Many of these file systems are now ready for modularisation.
 1.17  24-Sep-2007  rumble branches: 1.17.18; 1.17.22; 1.17.24; 1.17.26;
Avoid stack allocation of large dirent structures in foo_readdir().
 1.16  31-Jul-2007  pooka branches: 1.16.2; 1.16.4; 1.16.6; 1.16.8;
* nuke the nameidata parameter from VFS_MOUNT(). Nobody on tech-kern
knew what it was supposed to be used for and wrstuden gave a go-ahead
* while rototilling, convert file systems which went easily to
use VFS_PROTOS() instead of manually prototyping the methods
 1.15  12-Jul-2007  dsl branches: 1.15.2;
Change the VFS_MOUNT() interface so that the 'data' buffer passed to the
fs code is a kernel buffer, pass though the length of the buffer as well.
Since the length of the userspace buffer isn'it (yet) passed through the mount
system call, add a field to the vfsops structure containing the default length.
Split sys_mount() for calls from compat code.
Ride one of the recent kernel version changes - old fs LKMs will load, but
sys_mount() will reject any attempt to use them.
 1.14  13-Jul-2006  martin branches: 1.14.14;
Fix alignement problems for fhandle_t, exposed by gcc4.1.

While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ,
version the getfh(2) syscall and explicitly pass the size available in
the filehandle from userland.

Discussed on tech-kern, with lots of help from yamt (thanks!).
 1.13  14-May-2006  elad branches: 1.13.4;
integrate kauth.
 1.12  11-Dec-2005  christos branches: 1.12.4; 1.12.6; 1.12.8; 1.12.10; 1.12.12;
merge ktrace-lwp.
 1.11  03-Dec-2005  christos - protect userland exported files against multiple inclusion.
- make sure that kernel only files don't compile in userland using #error
- XXX: some kernel only files still get installed.
- XXX: some files used in userland, don't get installed.
 1.10  23-Sep-2005  jmmv Apply the NFS exports list rototill patch:

- Remove all NFS related stuff from file system specific code.
- Drop the vfs_checkexp hook and generalize it in the new nfs_check_export
function, thus removing redundancy from all file systems.
- Move all NFS export-related stuff from kern/vfs_subr.c to the new
file sys/nfs/nfs_export.c. The former was becoming large and its code
is always compiled, regardless of the build options. Using the latter,
the code is only compiled in when NFSSERVER is enabled. While doing this,
also make some functions in nfs_subs.c conditional to NFSSERVER.
- Add a new command in nfssvc(2), called NFSSVC_SETEXPORTSLIST, that takes a
path and a set of export entries. At the moment it can only clear the
exports list or append entries, one by one, but it is done in a way that
allows setting the whole set of entries atomically in the future (see the
comment in mountd_set_exports_list or in doc/TODO).
- Change mountd(8) to use the nfssvc(2) system call instead of mount(2) so
that it becomes file system agnostic. In fact, all this whole thing was
done to remove a 'XXX' block from this utility!
- Change the mount*, newfs and fsck* userland utilities to not deal with NFS
exports initialization; done internally by the kernel when initializing
the NFS support for each file system.
- Implement an interface for VFS (called VFS hooks) so that several kernel
subsystems can run arbitrary code upon receipt of specific VFS events.
At the moment, this only provides support for unmount and is used to
destroy NFS exports lists from the file systems being unmounted, though it
has room for extension.

Thanks go to yamt@, chs@, thorpej@, wrstuden@ and others for their comments
and advice in the development of this patch.
 1.9  20-May-2004  atatat branches: 1.9.12;
Tweak sysctl setup functions (the macros, actually) for use in lkms,
and tweak lkminit_*.c (where applicable) to call them, and to call
sysctl_teardown() when being unloaded.

This consists of (1) making setup functions not be static when being
compiled as lkms (change to sys/sysctl.h), (2) making prototypes
visible for the various setup functions in header files (changes to
various header files), and (3) making simple "load" and "unload"
functions in the actual lkminit stuff.

linux_sysctl.c also needs its root exposed (ie, made not static) for
this (when built as an lkm).
 1.8  27-Apr-2004  jrf First pass for some caddr_t removal and changes to get rid of it where we
no longer use and/or need it

- removed casts from unionfs, deadfs and fdesc
(there are more to hunt down still)
- changed vfs_quotactl args argumet from caddr_t to void *
- changed vfs_quotactl structures/callers to reflect the api change

Compiled fine and ran for about a day. Approved/reviewed by
christos@netbsd.org and gimpy@netbsd.org.
 1.7  21-Apr-2004  christos Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.
 1.6  04-Dec-2003  atatat branches: 1.6.2;
Dynamic sysctl.

Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded. Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment. I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.
 1.5  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.4  29-Jun-2003  fvdl branches: 1.4.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.3  28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.2  01-Feb-2003  thorpej Add extensible malloc types, adapted from FreeBSD. This turns
malloc types into a structure, a pointer to which is passed around,
instead of an int constant. Allow the limit to be adjusted when the
malloc type is defined, or with a function call, as suggested by
Jonathan Stone.
 1.1  23-Dec-2002  jdolecek branches: 1.1.2;
move filecorefs code from sys/filecorefs to sys/fs/filecorefs
 1.1.2.2  29-Dec-2002  thorpej With with HEAD.
 1.1.2.1  23-Dec-2002  thorpej file filecore_extern.h was added on branch nathanw_sa on 2002-12-29 19:55:48 +0000
 1.4.2.9  11-Dec-2005  christos Sync with head.
 1.4.2.8  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.7  21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.6  18-Sep-2004  skrll Sync with HEAD.
 1.4.2.5  26-Aug-2004  skrll Missed these in the vget, etc changes.
 1.4.2.4  24-Aug-2004  skrll Undo part of the ktrace/lwp changes. In particular:
* Remove the "lwp *" argument that was added to vget(). Turns out
that nothing actually used it!
* Remove the "lwp *" arguments that were added to VFS_ROOT(), VFS_VGET(),
and VFS_FHTOVP(); all they did was pass it to vget() (which, as noted
above, didn't use it).
* Remove all of the "lwp *" arguments to internal functions that were added
just to appease the above.
 1.4.2.3  03-Aug-2004  skrll Sync with HEAD
 1.4.2.2  03-Jul-2003  wrstuden LWP-ify filecore fs.

Note: These changes suffer from the same cnp->cn_lwp issue noted for
ufs. They will need to get fixed at the same time as ufs. The fix is to
add struct lwp * as a parameter to some VOPs.

Also, some how or another, this code missed out on the changes to use
genfs_lease_check, and had a dangling reference to lease_check().
Given that genfs_lease_check has been around since 1998, I'm puzzled as
to what's been going on. Noticed in a compild of acorn32/GENERIC.
 1.4.2.1  02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.6.2.1  23-May-2004  tron Pull up revision 1.9 (requested by atatat in ticket #374):
Tweak sysctl setup functions (the macros, actually) for use in lkms,
and tweak lkminit_*.c (where applicable) to call them, and to call
sysctl_teardown() when being unloaded.
This consists of (1) making setup functions not be static when being
compiled as lkms (change to sys/sysctl.h), (2) making prototypes
visible for the various setup functions in header files (changes to
various header files), and (3) making simple "load" and "unload"
functions in the actual lkminit stuff.
linux_sysctl.c also needs its root exposed (ie, made not static) for
this (when built as an lkm).
 1.9.12.4  27-Oct-2007  yamt sync with head.
 1.9.12.3  03-Sep-2007  yamt sync with head.
 1.9.12.2  30-Dec-2006  yamt sync with head.
 1.9.12.1  21-Jun-2006  yamt sync with head.
 1.12.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.12.10.2  06-May-2006  christos - Move kauth_cred_t declaration to <sys/types.h>
- Cleanup struct ucred; forward declarations that are unused.
- Don't include <sys/kauth.h> in any header, but include it in the c files
that need it.

Approved by core.
 1.12.10.1  08-Mar-2006  elad Adapt to kernel authorization KPI.
 1.12.8.2  11-Aug-2006  yamt sync with head
 1.12.8.1  24-May-2006  yamt sync with head.
 1.12.6.1  01-Jun-2006  kardel Sync with head.
 1.12.4.1  09-Sep-2006  rpaulo sync with head
 1.13.4.1  13-Jul-2006  gdamore Merge from HEAD.
 1.14.14.3  09-Oct-2007  ad Sync with head.
 1.14.14.2  20-Aug-2007  ad Sync with HEAD.
 1.14.14.1  15-Jul-2007  ad Sync with head.
 1.15.2.1  15-Aug-2007  skrll Sync with HEAD.
 1.16.8.2  31-Jul-2007  pooka * nuke the nameidata parameter from VFS_MOUNT(). Nobody on tech-kern
knew what it was supposed to be used for and wrstuden gave a go-ahead
* while rototilling, convert file systems which went easily to
use VFS_PROTOS() instead of manually prototyping the methods
 1.16.8.1  31-Jul-2007  pooka file filecore_extern.h was added on branch matt-mips64 on 2007-07-31 21:14:18 +0000
 1.16.6.1  06-Oct-2007  yamt sync with head.
 1.16.4.1  06-Nov-2007  matt sync with HEAD
 1.16.2.1  02-Oct-2007  joerg Sync with HEAD.
 1.17.26.1  03-Jul-2008  simonb Sync with head.
 1.17.24.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.17.22.1  04-May-2009  yamt sync with head.
 1.17.18.1  29-Jun-2008  mjf Sync with HEAD.
 1.18.10.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.18.4.1  28-Apr-2009  skrll Sync with HEAD.
 1.19.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.19.4.1  31-May-2011  rmind sync with head
 1.20.14.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.20.14.1  23-Jun-2013  tls resync from head
 1.20.4.1  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")

RSS XML Feed