The branch vendor/openzfs/zfs-2.1-release has been created by mm:

URL: https://cgit.FreeBSD.org/src/log/?id=3522f57b6ada

f1ca4da6f797 Initial commit.  All spl source written up to this point wrapped 
in an initial reasonable autoconf style build system.  This does not yet build 
but the configure system does appear to work properly and integrate with the 
kernel.  Hopefully the next commit gets us back to a buildable version we can 
run the test suite against.
8f48c2c853b6 Whoops, I knew I'd miss something small in the build system.  Fix 
it
564f6d1509f7 User space build fixes: - Add list handling compatibility library 
- Drop uu_* list handling in favor of local list implementation - libtoolize - 
generic makefile cleanup
3d4ea0ced6c2 More build fixes, I have the kernel module almost building and its 
feeling a lot more sane, cleaner, and linuxy.  I may finish this tonight.
f1b59d2620ae Lots of build fixes.  This is turning out to be a very good idea 
since it forcefully codifing the ABI.  Since the shim layer is no longer linked 
at build time in to the test suite we can;'t cut any corners and get away with 
it.
15821fd660fd Move dir
ce58df922657 Move dir
d01858a1ca78 Move dir
032d12a90053 Move dir
1735fa73f4ac New approach
a0aadf5666d5 OK, everything builds now.  My initial intent was to place all of 
the directories at the top level but that proved troublesome.  The kernel 
buildsystem and autoconf were conflicting too much.  To resolve the issue I 
moved the kernel bits in to a modules directory which can then only use the 
kernel build system.  We just pass along the likely make targets to the kernel 
build system.
e4009e98c756 Quiet libtool
70eadc19583d OK, it builds... and the modules load...  now for some more 
cleanup to remove the remaining vestages of the time it lives with the ZFS code.
7c50328b40df More cleanup. - Removed all references to kzt and replaced with 
splat - Moved portions of include files which do not need to be   available to 
all source files in to local.h files in   proper source subdirs.
07d339d46733 Add top level make check target which runs the validation suite.  
Careful with this right now one of the tests still causes a lockup on the node. 
 This happened before the move from the ZFS repo so its not a new issue.
596e65b4e8e9 OK, I think this is the last of major cleanup and restructuring. 
We've dropped all the linux- prefixes on the file in favor of spl- which makes 
more sense.  And we've cleaned up some of the includes so everybody should be 
including their own dependencies properly. All a module which wants to use the 
spl support needs to do in include spl.h and ensure it has access to 
Module.symvers.
09b414e880b0 Minor nit, SOLARIS should be SPL
f4b377415b4b Reorganize /include/ to add a /sys/, this way we don't need to 
muck with #includes in existing Solaris style source to get it to find the 
right stuff.
ea70970ff5a3 Almost dropped this!
d5f087adef0e Remaining lose ends
dbb484ec6002 Stub out some missing headers which are expected.  I'll fill in 
what the contents need to be as I encounter the warnings about missing 
prototypes, symbols, and such.
14c5326ccd05 More stub headers, moved generic to sysmacros, added some more 
macros for kernel compatibility
48f940b94399 Fix type
23f28c4f75b6 Remove spl.h, just include the headers you need. Add a few more 
stubs.
a713518f5d9e Checkpoint for the night, added a few more stub headers, fleshed 
out a few stub headers, added a FIXME file, added various compatibility macros
77b1fe8fa868 Add highbit func, Add sloopy atomic declaration which will need to 
be fixed (eventually) Fill out more of the Solaris VM hooks Adjust the 
create_thread function
ed61a7d05eb9 Add some missing rw_lock symbols
b0dd3380aae2 Minor atomic cleanup, this needs to be done right. Fixed a bug in 
the timer code Added missing macros
3b3ba48fe9a6 Add missing cred.h functions Resolve compiler warning with 
kmem_free (unused len) Add stub for byteorder.h Add zlib shim for compress2 and 
uncompress functions
0b3cf046cb5b Add the initial vestigates of vnode support
05ae387b5024 Add somre debugging support
12472b242dc3 Just filling in more of the env.
6adf99e7d6c1 Add missing headers
4098c921b68e Fix systemic naming mistake
51f443a0741b Add some typedefs to make it clearer when we passing a function, 
Add fm_panic define Add another bad atomic hack (need to do this right)
ee4766827a6e Remap gethrestime() with #define to new symbol and export that new 
symbol to avoid direct use of GPL only symbol.
b123971fc2f9 Two more GPL only symbols moved to helper functions in the spl 
module.
9490c1483593 Apply fix from bug239 for rwlock deadlock.
4b17158506d5 - Implemented vnode interfaces and 6 test cases to the test suite. 
- Re-implmented kobj support based on the vnode support. - Add TESTS option to 
check.sh, and removed delay after module load.
2f5d55aac5bf Add copyin/copyout mapping Fix some vnode types
36e6f8614643 - Add some more missing headers - Map the LE/BE_* byteorder macros 
to the linux versions - More minor vnodes fixes
73e540a0d1cc Drop unicode support, provided in ZFS tree libport Update uio 
support
8ddd0ee4154e Add two more missing headers
ea19fbed0538 Add missing headers
af828292e585 Add missing headers Rework vnodes to be based on the slab cache, 
just like on Solaris.
79b31f3601af Fix KMEM_DEBUG support (enable by default) Add 
vmem_alloc/vmem_free support (and test case) Add missing time functions
c19c06f3b05a Fix kmem memory accounting
2bdb28fbe07d Missing headers, more minor fixes
1ec74a114cc4 Minimal signal handling interface.
5d86345d3753 Initial pass at a file API getf/releasef hooks
e4f1d29f89b7 OK, some pretty substantial rework here.  I've merged the spl-file 
stuff which only inclused the getf()/releasef() in to the vnode area where it 
will only really be used.  These calls allow a user to grab an open file struct 
given only the known open fd for a particular user context.  ZFS makes use of 
these, but they're a bit tricky to test from within the kernel since you 
already need the file open and know the fd.  So we basically spook the system 
calls to setup the environment we need for the splat test case and verify given 
just the know fd we can get the file, create the needed vnode, and then use the 
vnode interface as usual to read and write from it.
4e62fd4104e9 OK, a first reasonable attempt at a solaris module/chdev shim 
layer. This should handle the absolute minimum I need for ZFS.  It will 
register the chdev with the right callbacks.  Then the generic registered linux 
callback will find the right registered solaris callback for the function and 
munge the args just right before passing it on.  Should work, but untested 
(just compiled), so I expect bugs.
336bb0c0c1e0 Two fixes to the module interface.  Could be worse!
8ac547ec4c96 Relocated to zfs repo
d429b03d85ee - Thinko fix to the SPL module interface - Enhanse the VERIFY() 
support to output the values which   failed to compare as expected before 
crashing.  This make   debugging much much much easier.
4a4295b26736 Remove minor lingering CDDL tait of copied headers.  Required 
headers rewritten to include minimally what we need.
9f4c835a0efd Correctly functioning 64-bit atomic shim layer.  It's not what I 
would call effecient but it does have the advantage of being correct which is 
all I need right now.  I added a regression test as well.
e487ee08fb0b Fixed that.
8d0f1ee907d4 Add some crude debugging support.  It leaves alot to be desired, 
but it should allow more easy kernel debugging for now.
4fd2f7eea565 Add vmem_zalloc support.
e966e04fd52e Ensure all file ops pointer are NULL or we may end up calling 
garbage pointers on open/close etc and get what look like random crashes.
6a585c61de0f Double large kmalloc warning size to 4 pages.  It was 2 pages, and 
ideally it should be dropped to one page but in the short term we should be 
able to easily live with 4 page allocations.
0998fdd6dba7 Apparently it's OK for done to be NULL, which was not clear in the 
Solaris man page.  Anyway, since apparently this usage is accectable I've 
updated the function to handle it.
0a6fd143fd6d - Remapped ldi_handle_t to struct block_device * which is much 
more useful - Added liunx block device headers to sunldi.h - Made 
__taskq_dispatch safe for interrupt context where it turns out we   need to be 
useing it. - Fixed NULL const/dest bug for kmem slab caches - Places debug 
__dprintf debugging messages under a spin_lock_irqsave   so it's safe to use 
then in interrupt handlers.  For debugging only!
996faa68697e Correctly implement atomic_cas_ptr() function.  Ideally all of 
these atomic operations will be rewritten anyway with the correct arch specific 
assembly.  But not today.
968eccd1d1cb Update the thread shim to use the current kernel threading API. We 
need to use kthread_create() here for a few reasons.  First off to old 
kernel_thread() API functioin will be going away. Secondly, and more 
importantly if I use kthread_create() we can then properly implement a 
thread_exit() function which terminates the kernel thread at any point with 
do_exit().  This fixes our cleanup bug which was caused by dropping a mutex 
twice after thread_exit() didn't really exit.
728b9dd80074 - Fix write-only behavior in vn-open() - Ensure we have at least 1 
write-only splat test - Fix return codes for vn_* Solaris does not use negative 
return   codes in the kernel.  So linux errno's must be inverted.
79f92663e369 Fix race in rwlock implementation which can occur when your task 
is rescheduled to a different cpu after you've taken the lock but before 
calling RW_LOCK_HELD is called. We need the spinlock to ensure there is a wmb() 
there.
115aed0dd8ea - Add more strict in_atomic() checking to the mutex entry function 
just to be extra safety and paranoid.
12ea923056d9 Adjust the condition variables to simply sleep uninteruptibly. 
This way we don't have to contend with superious wakeups which it appears ZFS 
is not so careful to handle anyway.  So this is probably for the best.
f23e92fabf09 Add hw_serial support based on a usermodehelper which runs at spl 
module load time can calls hostid.  The resolved hostid is then fed back in to 
a proc entry for latter use.  It's not a pretty thing, but it will work for 
now.  The hw_serial is required for things such as 'zpool status' to work.
c5fd77fcbf20 Just cleanup up an error case to avoid overspamming the console. 
We get the stack once from the BUG() no reason to dump it twice.
d61e12af5af3 - Add some spinlocks to cover all the private data in the mutex.  
I don't think this should fix anything but it's a good idea regardless.
55152ebbb46f         * modules/spl/spl-kmem.c : Make sure to disable interrupts 
        when necessary to avoid deadlocks.  We were seeing the deadlock         
when calling kmem_cache_generic_constructor() and then an interrupt         
forced us to end up calling kmem_cache_generic_destructor()         which 
caused our deadlock.
57d1b1885897 First commit of lustre style internal debug support.  These 
changes bring over everything lustre had for debugging with two exceptions.  I 
dropped by the debug daemon and upcalls just because it made things a little 
easier.  They can be readded easily enough if we feel they are needed.
ce86265693be Whoops need this!
2fae1b3d0af1 Frist minor batch of fixes.  Catch a dropped ;, and use SBUG 
instead of BUG.
937879f11db1 Update SPL to use new debug infrastructure.  This means: - 
Replacing all BUG_ON()'s with proper ASSERT()'s - Using ENTRY,EXIT,GOTO, and 
RETURN macro to instument call paths
892d51061e04 Handful of minor stack checking fixes
a8ac0b89668d Whoops, missed an instance where we could recursively stack 
check... bad.
e5bbd245e351 Added 4 missing subsystem flags
*** 6569 LINES SKIPPED ***
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to