Home | History | Annotate | Download | only in mount_tmpfs
History log of /src/sbin/mount_tmpfs/mount_tmpfs.c
RevisionDateAuthorComments
 1.29  21-Feb-2016  christos Add MOPT_{REL,NO}ATIME as supported by the underlying filesystems.
 1.28  30-Apr-2014  christos allow update
 1.27  04-Dec-2013  martin branches: 1.27.2;
Fix err/errx confusion, pointed out by rmind.
 1.26  04-Dec-2013  martin Provide variants of the -s option to allow limiting the tmpfs dynamically
at mount time to 1/Nth or to N percent of the available ram.
 1.25  02-Jun-2013  wiz Sync with man page. From jmc@openbsd.
 1.24  05-Aug-2008  pooka branches: 1.24.18; 1.24.24;
Refactor mount utilities to provide a mount_fs_parseargs() routine.
Use this routine both in mount_fs and rump_fs to provide equivalent
command line parameters and therefore usage interchangeability.
While doing this, combine some common mountgoop to mountprog.h
 1.23  28-Jul-2008  pooka Install mount argument structure header just like every other file system.
 1.22  28-Apr-2008  martin branches: 1.22.2;
Remove clause 3 and 4 from TNF licenses
 1.21  13-Feb-2008  rillig branches: 1.21.4; 1.21.6;
Print the second parameter in the error messages, since the first is
ignored anyway.

ok'ed by jmmv@.

NB: I didn't add a regression test for this because of lack of knowledge,
as the existing tests don't seem to follow the regress/README file.
 1.20  15-Dec-2007  perry convert __attribute__s to applicable cdefs.h macros
 1.19  14-Dec-2007  christos - Use fattr.c functions instead of home brewed ones.
- Use new dehumanize number.
 1.18  16-Jul-2007  pooka branches: 1.18.4; 1.18.6;
Print MNT_GETARGS results in one line to make them display
properly with mount -vvvvvvvvvv
 1.17  16-Jul-2007  pooka Make all mount(2) return value error checks against -1. Some file
systems just checked != 0, breaking MNT_GETARGS. Others worked with < 0,
but make them check against -1 too for consistency. And sprinkle some
stylish line wrapping where appropriate.
 1.16  14-Jul-2007  dsl Add additional 'sizeof args' parameter to mount(2).
 1.15  16-Oct-2006  christos use MOPT_NULL
 1.14  27-May-2006  yamt remove __POOL_EXPOSE.
 1.13  26-Mar-2006  jmmv There is no need to check for the resulting value of a strto*l call after
ERANGE has been raised. Just remove the extra checks, which were incorrect
anyway in almost all calls because they did not match their corresponding
strto*l function.

This caused mount_tmpfs to not catch some error cases in, e.g., i386, as
strtoll was returning LLONG_MAX instead of LONG_MAX, which are different
in this platform (but not on 64-bit ones).

Problem found by martin@; thanks!
 1.12  21-Mar-2006  christos Always check the results of getmntopts() and free them.
 1.11  11-Feb-2006  christos define __POOL_EXPOSE.
 1.10  30-Sep-2005  jmmv Do not use stdbool.h; it breaks the build on ports using gcc 2.x (such as
vax). Ew. Pointed out by he@.
 1.9  26-Sep-2005  jmmv Handle overflow errors in dehumanize_number. Noticed by chs@.
 1.8  25-Sep-2005  jmmv Implement the getargs option. I knew the code in the kernel had to be of
some use...
 1.7  25-Sep-2005  jmmv Fix some type mismatch issues (gid_t and uid_t are unsigned); pointed out
by chs@.
 1.6  25-Sep-2005  jmmv Change two variables from size_t to long as they are used with long
values (strtol). Silences a warning from lint.
 1.5  25-Sep-2005  jmmv Ignore case of trailing unit specifiers in size measures to remove confusion.
 1.4  25-Sep-2005  jmmv Inherit owner, group and mode of the mount directory so that mounting a
tmpfs over, e.g., /tmp, is trivial.
 1.3  23-Sep-2005  jmmv Kill the tmpfs(9) manual page; it was just documenting internal details of
tmpfs' "API" and was already rotting.

Instead, merge all the relevant comments into the code. This includes
acknowledgements to Google's Summer of Code 2005 program (they were in the
AUTHORS section of tmpfs(9) before), so all the files need to be changed
to include this sentence alongside the title. (Note that this was not a
requirement of the program.)
 1.2  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.1  10-Sep-2005  jmmv Initial addition of tmpfs, an efficient memory file-system. This project
was developed as part of Google's Summer of Code 2005 program. This
change adds the kernel code, the mount_tmpfs utility, a regression test
suite and does all other related changes to integrate these.

The file-system is still *experimental*. Therefore, it is disabled by
default in all kernels. However, as typically done, a commented-out
entry is added in them to ease its setup.

Note that I haven't commited the required mountd(8) changes to be able
to export tmpfs file-systems because NFS support is still very unstable
and because, before enabling it, I'd like to do some other changes.

OK'ed by my project mentor, William Studenmund (wrstuden@).
 1.18.6.2  18-Feb-2008  mjf Sync with HEAD.
 1.18.6.1  27-Dec-2007  mjf Sync with HEAD.
 1.18.4.2  23-Mar-2008  matt sync with HEAD
 1.18.4.1  09-Jan-2008  matt sync with HEAD
 1.21.6.1  18-May-2008  yamt sync with head.
 1.21.4.2  28-Sep-2008  mjf Sync with HEAD.
 1.21.4.1  02-Jun-2008  mjf Sync with HEAD.
 1.22.2.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.24.24.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.24.24.1  23-Jun-2013  tls resync from head
 1.24.18.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")
 1.27.2.1  10-Aug-2014  tls Rebase.

RSS XML Feed