Commit Graph

147 Commits

Author SHA1 Message Date
pooka 8df353fe72 no longer used 2011-01-21 13:11:32 +00:00
pooka 0ec2770c3c Since "physmem" is largely unused except for zfs wanting to know
if it has enough memory available, just pick a number which makes
zfs happy.

We *could* use a MIN() of available host mem and rump_memlimit,
though ...
2011-01-21 13:11:03 +00:00
pooka a230f6e23f don't perform tasks already done by zfs_modcmd 2011-01-21 12:23:29 +00:00
haad 61583090b2 Add support for compiling ZFS and Solaris modules as RUMP libraries. Add
some locking and rumpcopy primitives and refactor module building Makefiles
to work with both RUMP and kernel modules. This is first part of adding
support for regular test of zfs on NetBSD to hunt some bugs and make it
stable.

Ok by pooka@.
2011-01-18 22:21:22 +00:00
pooka 6292852036 Rename Makefile.rump${x} to Makefile.rump${x}comp for consistency. 2010-12-05 16:53:46 +00:00
pooka 520524fd92 Fix RUMPFSLIBS etc. As collateral, rename nullfs/umapfs to match
the vfsname, i.e. to "null" and "umap".
2010-12-05 16:11:16 +00:00
pooka 2c9dc3f982 remember to add the new file to the build 2010-07-06 16:13:57 +00:00
pooka c9602161d3 Make putter its own component: rumpdev_putter. It was coupled in
with rumpfs_puffs for prehistoric reasons which are no longer valid
(namely, only fs components existed back then and there was no /dev
support in rump fs namespace).
2010-06-30 16:14:18 +00:00
pooka 5551d3c53c add component constructor to create /dev/puffs -> putter symlink 2010-06-30 15:50:20 +00:00
rmind fc8b3b7154 Replace tmpfs_pool custom allocator code with a simpler layer for memory
accounting.  Use wired memory (which can be limited) for meta-data, and
kmem(9) for string allocations.

Close PR/31944.  Fix PR/38361 while here.  OK ad@.
2010-06-22 18:32:07 +00:00
pooka d2e364992d ptyfs rump component 2010-06-14 14:36:15 +00:00
pooka 9df433ebd4 include extattr support 2010-05-20 18:23:59 +00:00
pooka 344e2f2f16 Following nullfs, rename rumpfs_umapfs to rumpfs_umap to make the
basename the same as the kernel module (this too was in-tree only
for a little over a week with the old name).
2010-04-11 05:45:57 +00:00
pooka b764352d60 Rename librumpfs_nullfs to librumpfs_null to make the basename the
same as with the kernel module (and hence MOUNT_NULL).

I added the old name to the obsolete list, but given that it was
in-tree for only a bit over a week, I'll remove the entries in a
few weeks.
2010-04-10 21:32:59 +00:00
pooka 9e9ab330be support kernfs 2010-03-31 14:18:33 +00:00
pooka 0ebcba0046 support nullfs and umapfs 2010-03-30 00:59:07 +00:00
pooka b0d97215bc Support unionfs (and layervfs, which is required for unionfs). 2010-03-29 18:12:23 +00:00
pooka 9d4c3a0469 Support fifofs in rump. Do not include it in rumpvfs directly,
since it involves some very non-fs'y components like sockets and
local domain networking.  Also (for better or worse?), call it
rump*v*fs_fifofs instead of rumpfs_fifofs, since it does not really
provide a file system driver.

XXX: uses duplicate common symbols and functionality depends on
link order ... (but at least it works better than before this change)
2010-03-29 13:20:31 +00:00
pooka f50cf92e3a support mfs 2010-03-08 12:29:01 +00:00
pooka dd0604d344 Reflect removal of fs_nfs.h and -DNFS 2010-03-02 23:37:16 +00:00
pooka 5a03797ea6 While I like redundant computing, specifying each option just once
is generally enough.
2010-03-02 11:29:04 +00:00
pooka 643ba90bf0 Globally define -Wno-pointer-sign, as it has become a pointless
exercise of "add it to every Makefile individually".

XXX: should autosynchronize with the rest of the kernel buildflags
in sys/conf/Makefile.kern.inc.
2010-02-16 20:42:44 +00:00
pooka 97fada1858 remove -D__NetBSD__ (it's done globally now) 2010-02-16 20:34:03 +00:00
pooka fbc989bbef Use linker script to make __start/stop_link_set_modules be present
in libs built with binutils >=2.19.  This is a less error-prone
method than the previous where components had to be tagged in the
Makefile as modules (and if they weren't, things broke.  and vice
versa).
2009-12-12 17:10:19 +00:00
pooka d09e2773d0 "rumppriv" goes back to "rump" per internal interface naming change. 2009-10-14 18:18:53 +00:00
pooka 42972db848 Adjust rump sources for external/internal interfaces.
No functional change.
2009-10-14 17:29:19 +00:00
pooka 48b3a6f7a3 binutils 2.19 has changed the old behaviour of defining __start_SECTNAME
for orphaned sections to using PROVIDE.  What this means is that
unless a rump component internally references that symbol, it will
not be included in the component shared library, and hence cannot
be referenced when the component is loaded.  Add a workaround which
works both with 2.16 and 2.19: force a reference to the __start
symbol internally and hence retain it in the resulting library.
2009-09-13 22:51:41 +00:00
pooka 721430ffd9 rump smbfs component 2009-09-04 12:16:54 +00:00
pooka 9d98904e35 add fdesc fs rump lib
(don't descend in here by default, I don't want to deal with the
setlist pain for now)
2009-07-31 19:16:45 +00:00
reinoud 69a586f230 Import read-only part of the NiLFS (v2) implementation for NetBSD. It has been
tested with a DEBUG+DIAGNOSTIC+LOCKDEBUG kernel. To summerise NiLFS, i'll
repeat my posting to tech-kern here:

NiLFS stands for New implementation of Logging File System; LFS done
right they claim :) It is at version 2 now and is being developed by NTT, the
Japanese telecom company and recently put into the linux source tree. See
http://www.nilfs.org. The on-disc format is not completely frozen and i expect
at least one minor revision to come in time.

The benefits of NiLFS are build-in fine-grained checkpointing, persistent
snapshots, multiple mounts and very large file and media support. Every
checkpoint can be transformed into a snapshot and v.v. It is said to perform
very well on flash media since it is not overwriting pieces apart from a
incidental update of the superblock, but that might change. It is accompanied
by a cleaner to clean up the segments and recover lost space.

My work is not a port of the linux code; its a new implementation. Porting the
code would be more work since its very linux oriented and never written to be
ported outside linux. The goal is to be fully interchangable. The code is non
intrusive to other parts of the kernel. It is also very light-weight.

The current state of the code is read-only access to both clean and dirty
NiLFS partitions. On mounting a dirty partition it rolls forward the log to
the last checkpoint. Full read-write support is however planned!

Just as the linux code, mount_nilfs allows for the `head' to be mounted
read/write and allows multiple read-only snapshots/checkpoint mounts next to
it.

By allowing the RW mount at a different snapshot for read-write it should be
possible eventually to revert back to a previous state; i.e. try to upgrade a
system and being able to revert to the exact state prior to the upgrade.

Compared to other FS's its pretty light-weight, suitable for embedded use and
on flash media. The read-only code is currently 17kb object code on
NetBSD/i386. I doubt the read-write code will surpass the 50 or 60. Compared
this to FFS being 156kb, UDF being 84 kb and NFS being 130kb. Run-time memory
usage is most likely not very different from other uses though maybe a bit
higher than FFS.
2009-07-18 16:31:41 +00:00
pooka 45ef580f17 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.
2009-05-02 01:15:52 +00:00
pooka e9d1ffe915 compile in snapshot code 2009-04-06 20:46:44 +00:00
ad 59fcf21389 PR kern/26878 FFSv2 + softdep = livelock (no free ram)
PR kern/16942 panic with softdep and quotas
PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch
PR kern/26274 softdep panic: allocdirect_merge: ...
PR kern/26374 Long delay before non-root users can write to softdep partitions
PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem
PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption
PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk
PR kern/31981 stopping scsi disk can cause panic (softdep)
PR kern/32116 kernel panic in softdep (assertion failure)
PR kern/32532 softdep_trackbufs deadlock
PR kern/37191 softdep: locking against myself
PR kern/40474 Kernel panic after remounting raid root with softdep

Retire softdep, pass 2. As discussed and later formally announced on the
mailing lists.
2009-02-22 20:28:05 +00:00
pooka a378ac816b Put syspuffs_glueinit in the rump kernel namespace. 2009-01-08 03:27:10 +00:00
pooka 3945d47397 Purge multiple kernel opt files. 2009-01-01 19:43:57 +00:00
pooka 8a1a1e1e27 * make features match those of the nfs module just to have them in-sync
* remove stubs.c since all are now provided by rumpnet
2008-12-29 23:17:42 +00:00
pooka a768afd60b __KERNEL_RCSID 2008-12-18 00:24:12 +00:00
pooka 31b0163f0d Add nfs server rump library.
(not descended into on purpose)
2008-11-27 14:14:30 +00:00
ad 92ce8c6a3d Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
2008-11-19 18:35:57 +00:00
pooka e349d81775 Tune CFLAGS to a consistent default. 2008-11-17 09:03:51 +00:00
christos 75e8ce56c6 revert stack protector change. 2008-10-16 19:35:07 +00:00
pooka 2690ed220b Ignore stack-protector, since with nfs_bio.c it gets its life force
drained out.  Yes, this is a quick kludge, should rather fix
nfs_bio.c to be less silly.
2008-10-16 19:06:40 +00:00
pooka 47c581b572 nfs_boot calls some networking stack routines directly. Since rump
will not invoke nfs_boot in the foreseeable future, provide those
routines as stubs in case sockin is used instead of the real
networking stack.
2008-10-15 22:25:26 +00:00
pooka cf82732ba2 Revert weird revivesa merge botch. (Hi Bill!) 2008-10-15 13:57:03 +00:00
wrstuden fc7511b00e Merge wrstuden-revivesa into HEAD. 2008-10-15 06:51:17 +00:00
pooka f4ce96e86b check rump_init() return value 2008-10-07 23:22:05 +00:00
pooka e15435197f Make libnfs compile. 2008-10-06 01:00:57 +00:00
reinoud 19eb6cb8aa Remove the not anymore used UDF_READWRITE flag. 2008-09-28 09:02:45 +00:00
pooka aa224b94d6 fix broken break (oh the irony) 2008-09-05 10:42:09 +00:00
pooka 795cda8d6a Add rump support for sysvbfs. 2008-09-04 12:21:25 +00:00