Commit Graph

229 Commits

Author SHA1 Message Date
hannken e99cb814bd Move msdosfs_rename() and doscheckpath() to new file msdosfs_rename.c.
No functional change.
2021-10-23 07:41:37 +00:00
christos 0f62dc0eb2 fix reversed comment 2021-04-15 17:31:15 +00:00
mrg c2082ece61 remove GCC_NO_ADDR_OF_PACKED_MEMBER for several subdir builds
that are now handled by lfs_accessors.h internally.
2020-09-07 03:09:53 +00:00
mrg cb93b81028 add support for new GCC 9 warnings that may be too much to fix
right now.  new address-of-packed-member and format-overflow
warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd
GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.

apply to a bunch of the tree.  mostly, these are real bugs that
should be fixed, but in many cases, only by removing the 'packed'
attribute from some structure that doesn't really need it.  (i
looked at many different ones, and while perhaps 60-80% were
already properly aligned, it wasn't clear to me that the uses
were always coming from sane data vs network alignment, so it
doesn't seem safe to remove packed without careful research for
each affect struct.)  clang already warned (and was not erroring)
for many of these cases, but gcc picked up dozens more.
2020-09-06 07:20:26 +00:00
christos 9aa2a9c323 Add ACL support for FFS. From FreeBSD. 2020-05-16 18:31:45 +00:00
christos 30e6ba44fc PR/55102: Kamil Rytarowski: Duplicate fifo_vnodeop_entries,
fifo_vnodeop_opv_desc symbols.

Missed adding those in previous
2020-05-16 00:43:15 +00:00
christos 6d46df7548 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.
2020-05-15 23:32:27 +00:00
bouyer 70195d9f2a Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
2020-04-25 15:42:14 +00:00
christos 0c792cd1aa Extended attribute support for ffsv2, from FreeBSD. 2020-04-18 19:18:33 +00:00
christos 57004306d0 remove removed file 2020-04-12 00:04:45 +00:00
jdolecek 1e03bcd0cf remove SMBFS and nsmb(4) - kernel part
it's unmaintained and supports only obsolete SMB1
2020-04-04 15:43:21 +00:00
riastradh 26051592c4 Suppress spurious address-of-packed error in rump lfs too. 2020-03-21 18:58:43 +00:00
hannken 8c4b1be312 Cleanup modules "solaris" and "zfs":
- Defer spa_config_load() until root is mounted.
- Restore the config path to "/etc/zfs/zpool.cache".
- Module "zfs" is type MODULE_CLASS_VFS and no longer depends on "rootvnode".
- Module "solaris" no longer depends on "mp_online".
- Fix rump component registration to not detach "/dev/zfs" if
  it didn't attach it.
2019-05-07 08:51:09 +00:00
joerg f9c2736326 Disable a couple of warnings until further investigation. 2017-01-11 12:19:43 +00:00
martin c4786f8220 Add new file to fix the build. 2016-08-12 20:25:34 +00:00
christos 26488304cc Add new files 2016-06-24 21:31:30 +00:00
joerg 56a6d73206 Install new header and fix rump to include the corresponding source as
well.
2016-06-03 21:55:50 +00:00
christos 3b88282d06 elide vax compiler bug. 2016-03-23 21:38:51 +00:00
mlelstv bbd8666d0f Split case folding table into separate source file and add full
copyright and permission notice from http://www.unicode.org/copyright.html
2016-02-06 10:40:58 +00:00
pooka 6bb5142288 Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories.  Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
2016-01-26 23:12:14 +00:00
pooka d97f016d89 Always descend into component directories for rumpdescribe. 2015-11-15 16:54:16 +00:00
pooka b2b6f2602e Add a COMMENT describing what each component roughly does.
"make describe" prints the comment.

Requested/inspired by Vincent Schwarzer on rumpkernel-users
2015-10-19 16:16:32 +00:00
pooka 30abe7e479 don't -I imaginary opt directories 2015-08-24 23:19:33 +00:00
pooka 8affc54712 kill now-unnecessary empty opt files (_KERNEL_OPT'ed probably eons ago) 2015-08-21 12:45:10 +00:00
hannken d8868b1ee7 Change lfs from hash table to vcache.
- Change lfs_valloc() to return an inode number and version instead of
  a vnode and move lfs_ialloc() and lfs_vcreate() to new lfs_init_vnode().

- Add lfs_valloc_fixed() to allocate a known inode, used by kernel
  roll forward.

- Remove lfs_*ref(), these functions cannot coexist with vcache and
  their commented behaviour is far away from their implementation.

- Add the cleaner lwp and blockinfo to struct ulfsmount so lfs_loadvnode()
  may use hints from the cleaner.

- Remove vnode locks from ulfs_lookup() like we did with ufs_lookup().
2015-05-31 15:48:02 +00:00
christos 524046d70c PR/975220: Check return of kthread_create 2015-05-10 14:05:22 +00:00
christos 65bd814e25 CID 274829: Check error from fd_getfile to avoid NULL deref immediately
after.
2015-05-10 14:00:42 +00:00
pooka eaa241e501 Remove shlib_version files and just use Makefile SHLIB_MAJOR/MINOR,
with the default provided by Makefile.rump (they're all 0.0 anyway)
2014-12-02 01:59:10 +00:00
hannken 265f1d8cdb Change hfs from hashlist to vcache.
- use (cnid, fork) as key.
- use pool for hfs nodes.
2014-08-10 08:53:22 +00:00
hannken 5d6be57d01 Change efs from hashlist to vcache. 2014-08-07 08:24:23 +00:00
hannken 98fe1e89dc Change kernfs from hashlist to vcache. 2014-07-20 13:58:04 +00:00
dholland 7de8c6f8a6 Move lfs_getpages and lfs_putpages to their own file. 2014-05-16 09:34:03 +00:00
hannken 42c8d67c49 Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair.
- vcache_remove() removes a vnode / fs node pair from the cache.

On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to
initialise a vnode / fs node pair.  This call is guaranteed exclusive,
no other thread will try to load this vnode / fs node pair.

Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.

Remove now unused ufs/ufs_ihash

Discussed on tech-kern.

Welcome to 6.99.41
2014-05-08 08:21:53 +00:00
pooka ef453332be add aio driver as rump kernel component 2014-04-10 00:09:08 +00:00
riastradh 6cb10275d0 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
pooka 26ec820c34 rename component.c -> zfs_component.c 2014-03-13 01:46:10 +00:00
pooka c195be46f9 rename component.c -> syspuffs_component.c 2014-03-13 01:45:33 +00:00
dholland d0790dc078 why does rump have to have its own private build system? 2013-07-20 20:43:09 +00:00
reinoud 5bf2bdc26b Oops forgot the rump addition of udf_rename.c 2013-07-10 16:47:17 +00:00
dholland 430d02428a right, why does rump have to have its own copy of all the build information? 2013-06-08 22:45:28 +00:00
dholland a4fc39c06d Cleanups and hacks to make lfs userland stuff build:
- lfs_cksum.c doesn't actually need ulfs_inode.h any more.
   - neither does lfs_itimes.c.
   - add hacks to fsck_lfs to make it compile.
   - add hacks to newfs_lfs to make it compile.
   - fix warning in ulfs_quota.c when quotas are fully disabled
     (as I guess is happening with the rumpity version)

XXX: This commit adds -I${NETBSDSRCDIR}/sys to the Makefiles for
XXX: fsck_lfs, newfs_lfs, and lfs_cleanerd. This needs to be cleaned
XXX: up ASAP; but I consider this less problematic in the short term
XXX: than spewing ulfs_*.h into /usr/include.
2013-06-06 00:54:49 +00:00
pooka 32a34307fa Make hypercall calling conventions consistent: iff a hypercall can fail,
it returns an int containing the error value.
2013-04-30 00:03:52 +00:00
pooka 0dc3609e1c Reduce hypercalls related to reading to essentially an amalgamation
of readv and preadv.  ditto for writing.  Hypercalls are so seldomly
used that it doesn't justify 3x the calls for syntactic sugar.
2013-04-29 20:08:48 +00:00
christos 225aac513b Now that the auto-loading zfs bug has been fixed, the loading failed because
the devsw node was busied here. Since we load the devsw only for the purpose
of creating the device node in our virtual filesystem, detach it after we
are done so that the real module can reload it.
2013-03-10 04:24:16 +00:00
riastradh aeadee1d6d Adapt ffs, lfs, and ext2fs to use genfs_rename.
ok dholland, rmind
2012-05-09 00:21:17 +00:00
riastradh aff071a220 Adapt tmpfs_rename to use genfs_rename. 2012-05-09 00:16:07 +00:00
uch 7ce939b3e2 v7fs rump support 2011-07-24 08:55:28 +00:00
joerg a216da57a6 Default to -Wno-sign-compare -Wno-pointer-sign for clang.
Push -Wno-array-bounds down to the cases that depend on it.
Selectively disable warnings for 3rd party software or non-trivial
issues to be reviewed later to get clang -Werror to build most of the
tree.
2011-05-26 12:56:24 +00:00
wiz fd1ad431e8 When panicing, at least tell the _real_ reason. 2011-03-10 22:11:05 +00:00
pooka cd97edf46b autocreate /dev/zfs. requested by riz 2011-03-10 19:24:37 +00:00