Commit Graph

  • ef6c136884 Disable rw_tryupgrade() for newer kernels Brian Behlendorf 2010-04-20 15:16:27 -07:00
  • 8934764e60 Add support for 'make -s' silent builds Brian Behlendorf 2010-03-26 15:21:06 -07:00
  • 16b719f006 Allow spl_config.h to be included by dependant packages (updated) Brian Behlendorf 2010-03-22 14:45:33 -07:00
  • aa600d8a38 Reduce max kmem based slab size Brian Behlendorf 2010-03-18 13:39:51 -07:00
  • c5c3d402f7 Prep for 0.4.8 tag, updated META and ChangeLog Brian Behlendorf 2010-03-11 15:36:50 -08:00
  • 6f088fde27 Ignore unsigned module build products Brian Behlendorf 2010-03-11 14:29:17 -08:00
  • 414f1f975e Rename update-zfs.sh -> zfs-update.sh for consistency Brian Behlendorf 2010-03-11 09:53:59 -08:00
  • 774f7c02b1 Ignore unsigned module build products Brian Behlendorf 2010-03-09 14:14:09 -08:00
  • 3cce0f1365 Fix definitions for the unknown distro/installation Brian J. Murrell 2010-03-08 15:12:22 -08:00
  • 534c4e38cb When no kernel source has been pointed to, first attempt to use /lib/modules/$(uname -r)/source. This will likely fail when building under a mock (http://fedoraproject.org/wiki/Projects/Mock) chroot environment since uname -r will report the running kernel which likely is not the kernel in your chroot. To cleanly handle this we fallback to using the first kernel in your chroot. Brian J. Murrell 2010-03-08 14:19:30 -08:00
  • 21006d08af Remove Module.markers and Module.symver{s} in clean target Brian Behlendorf 2010-03-08 13:08:09 -08:00
  • 3977f8370f Linux 2.6.32 compat, proc_handler() API change Brian Behlendorf 2010-03-04 12:14:56 -08:00
  • 4cd8e49a69 Add .gitignore files to exclude build products Brian Behlendorf 2010-01-08 11:35:17 -08:00
  • 694921bc49 sun-misc-gitignore Ricardo M. Correia 2010-01-08 01:19:49 +00:00
  • f7e8739c94 sun-fix-whitespace Ricardo M. Correia 2010-01-07 16:58:30 +00:00
  • b520b14305 sun-fix-panic-str Ricardo M. Correia 2010-01-07 16:58:29 +00:00
  • 5562e5d105 Added splat taskq task ordering test case. Brian Behlendorf 2010-01-05 13:34:09 -08:00
  • 82387586af Optimize lowest outstanding taskqid calculation in taskq_lowest_id() Brian Behlendorf 2010-01-04 15:52:26 -08:00
  • ef1c7a0691 Strip __GFP_ZERO from kmalloc it is not available for older kernels. Brian Behlendorf 2009-12-23 12:57:10 -08:00
  • 641bebe35f Fix kmem:slab_overcommit regression test locking Brian Behlendorf 2009-12-23 12:46:11 -08:00
  • 3a03ce5cbf Check for changed gaurd macro in 2.6.28+ for rwsem implementation. Brian Behlendorf 2009-12-17 11:57:44 -08:00
  • 058ac9ba78 Pull in latest man pages as part of update-zfs.sh Brian Behlendorf 2009-12-11 16:15:33 -08:00
  • 242f539a2e Add skc_flags and full header to /proc/spl/kmem/slab. Brian Behlendorf 2009-12-11 11:20:08 -08:00
  • f60a5f5221 Splat vnode tests must return negative error codes. Brian Behlendorf 2009-12-10 15:06:07 -08:00
  • d04c8a563c Atomic64 compatibility for 32-bit systems without kernel support. Brian Behlendorf 2009-12-04 15:54:12 -08:00
  • db1aa22297 Correctly handle division on 32-bit RHEL5 systems by returning dividend. Brian Behlendorf 2009-12-01 15:53:28 -08:00
  • 5652e7b497 When using x86 specific rwsem correctly intepret rwsem->count. Brian Behlendorf 2009-12-01 15:47:27 -08:00
  • 4e5691faf6 Only run the kmem overcommit test on 64-bit systems. Brian Behlendorf 2009-12-01 11:40:47 -08:00
  • a5d6f6020a Add missing atomic64 compat helpers for 32-bit systems. Brian Behlendorf 2009-12-01 10:15:27 -08:00
  • 6ff686c44d Type long expected explicitly cast for 32-bit systems. Brian Behlendorf 2009-12-01 10:14:01 -08:00
  • f6ea161924 spl-modules-devel package must depend on the exact version of kernel devel package it was built against. Brian Behlendorf 2009-11-24 15:24:36 -08:00
  • c1541dfef1 Add 'srpm' --with-config option for creation of spec files. Brian Behlendorf 2009-11-24 14:21:45 -08:00
  • ea385742db Add chaos5 and rhel6 macro's to the spl-modules.spec.in Brian Behlendorf 2009-11-24 13:15:35 -08:00
  • 958dc9e737 Prep for 0.4.7 tag, updated META and ChangeLog. Brian Behlendorf 2009-11-20 16:52:29 -08:00
  • fe883092b9 Ensure *.order and *.markers build products are removed by distclean rule. Brian Behlendorf 2009-11-20 16:01:00 -08:00
  • 0aa61e8427 Remove zvol.c when updating in update-zfs.sh Linux version available. Brian Behlendorf 2009-11-15 16:20:01 -08:00
  • 0a6c005959 Ensure spl_config.h is include in spl-generic.c Brian Behlendorf 2009-11-15 15:04:33 -08:00
  • 1273cf284b Always use the generic mutex_destroy(). Brian Behlendorf 2009-11-15 15:04:02 -08:00
  • 05b48408fb Add mutex_enter_nested() as wrapper for mutex_lock_nested(). Brian Behlendorf 2009-11-15 14:27:15 -08:00
  • 8b45dda2bc Linux 2.6.31 kmem cache alignment fixes and cleanup. Brian Behlendorf 2009-11-13 11:12:43 -08:00
  • c89fdee4d3 Remove __GFP_NOFAIL in kmem and retry internally. Brian Behlendorf 2009-11-12 15:11:24 -08:00
  • baf2979ed3 Linux 2.6.31 Compatibility Updates Brian Behlendorf 2009-11-10 14:06:57 -08:00
  • f97cd5fd87 Prep for 0.4.6 tag, updated META and ChangeLog. Brian Behlendorf 2009-11-02 10:24:12 -08:00
  • 055ffd98cf Autoconf --enable-debug-* cleanup Brian Behlendorf 2009-10-30 13:58:51 -07:00
  • 302b88e6ab Add autoconf checks for atomic64_cmpxchg + atomic64_xchg Brian Behlendorf 2009-10-30 13:53:17 -07:00
  • 5e9b5d832b Use Linux atomic primitives by default. Brian Behlendorf 2009-10-30 10:55:25 -07:00
  • 2b5adaf18f I should not have removed these, they are important. Brian Behlendorf 2009-10-27 16:17:06 -07:00
  • 4bd577d069 Rebase cmn_err on vcmn_err and don't warn about missing \n Brian Behlendorf 2009-10-27 15:54:45 -07:00
  • 5c36312909 Script update-zfs.sh updated to include libefi library Brian Behlendorf 2009-10-09 15:37:29 -07:00
  • f44078fad5 Remove usage of the __id_u macro for portability. Brian Behlendorf 2009-10-05 12:51:58 -07:00
  • 39ab544079 Use kobject_set_name() for increased portability. Brian Behlendorf 2009-10-02 16:21:59 -07:00
  • 51a727e90f Set cwd to '/' for the process executing insmod. Brian Behlendorf 2009-10-01 16:06:15 -07:00
  • 0e77fc118e Expand SEM() outside init_rwsem and directly call __init_rwsem(). Brian Behlendorf 2009-09-29 03:19:09 -07:00
  • 4d54fdee1d Reimplement mutexs for Linux lock profiling/analysis Brian Behlendorf 2009-09-25 14:47:01 -07:00
  • d28db80fd0 Update rwlocks to track owner to ensure correct semantics Brian Behlendorf 2009-09-25 14:14:35 -07:00
  • e811949a57 Reimplement rwlocks for Linux lock profiling/analysis. Brian Behlendorf 2009-09-18 16:09:47 -07:00
  • 45d1cae3b8 Rebase master to b121 Brian Behlendorf 2009-08-18 11:43:27 -07:00
  • 73358d5a1d Various spec file tweaks to handle rpm building of several distros. Supported and tested distros now include SLES10, SLES11, Chaos 4.x, RHEL5, and Fedora 11. This update was mainly to address rebuildable kernel module rpms, and correct rpm dependencies for each distro. Brian Behlendorf 2009-08-14 14:09:16 -07:00
  • 26d77c4493 Explicit check for requires_* rpm defines Due to different distros and/or versions of rpm mishandling the shorthand syntax simply use the longer version which get interpreted correctly. Brian Behlendorf 2009-08-13 15:02:34 -07:00
  • 68ada11e5c Tag spl-0.4.5. Update the ChangeLog with a summary of the changes since the last release and update the META file to reflect the new version number. Brian Behlendorf 2009-08-04 12:22:33 -07:00
  • 16f4a92c10 Required missing symbols for FC11 kernels (2.6.29.4-167.fc11.x86_64) Brian Behlendorf 2009-07-31 12:44:34 -07:00
  • c65d62d8bf Disable stack overflow checking by default. The run time stack overflow checking is being disabled by default because it is not safe for use with 2.6.29 and latter kernels. These kernels do now have their own stack overflow checking so this support has become redundant anyway. It can be re-enabled for older kernels or arches without stack overflow checking by redefining CHECK_STACK(). Brian Behlendorf 2009-07-30 13:52:11 -07:00
  • 6ae7fef5b9 Update global_page_state() support for 2.6.29 kernels. Basically everything we need to monitor the global memory state of the system is now cleanly available via global_page_state(). The problem is that this interface is still fairly recent, and there has been one change in the page state enum which we need to handle. These changes basically boil down to the following: - If global_page_state() is available we should use it. Several autoconf checks have been added to detect the correct enum names. - If global_page_state() is not available check to see if get_zone_counts() symbol is available and use that. - If the get_zone_counts() symbol is not exported we have no choice be to dynamically aquire it at load time. This is an absolute last resort for old kernel which we don't want to patch to cleanly export the symbol. Brian Behlendorf 2009-07-28 15:06:42 -07:00
  • 6b09f73939 Remove get/put_task_struct as they are not available for SLES11 This interface is going away, and it's not as if most callers actually use crhold/crfree when working with credentials. So it'll be okay they we're not taking a reference on the task structure the odds of it going away while working with a credential and pretty small. Brian Behlendorf 2009-07-28 15:04:21 -07:00
  • ec7d53e99a Add basic credential support and splat tests. The previous credential implementation simply provided the needed types and a couple of dummy functions needed. This update correctly ties the basic Solaris credential API in to one of two Linux kernel APIs. Brian Behlendorf 2009-07-27 17:18:59 -07:00
  • 3d0cb2d31d Remove LINUXINCLUDE from autoconf wrapper, breaks 2.6.28+ kernels. Modern kernel build systems at least post 2.6.16 will set this properly so we should not. In fact post 2.6.28 the include headers have moved under arch so the guess we make here is completely wrong. Letting the kernel build system set this ensure it will be correct. Brian Behlendorf 2009-07-27 09:52:01 -07:00
  • 7064b767c2 Positive Solaris ioctl return codes need to be negated for use by libc Brian Behlendorf 2009-07-23 16:14:52 -07:00
  • 3c9ce2bf69 Allow kmem or vmem based slab for slab_lock and slab_overcommit tests. The slab_overcommit test case could hang on a system with fragmented memory because it was creating a kmem based slab with 256K objects. To avoid this I've removed the KMC_KMEM flag which allows the slab to decide if it should be kmem or vmem backed based on the object side. The slab_lock test shares this code and will also be effected. But the point of these two tests is to stress cache locking and memory overcommit, the type of slab is not critical. In fact, allowing the slab to do the default smart thing is preferable. Brian Behlendorf 2009-07-23 13:50:53 -07:00
  • 2141116167 The HAVE_PATH_IN_NAMEIDATA compat macros should have been used here. Brian Behlendorf 2009-07-22 14:28:19 -07:00
  • 749e5eb1ed Check arch/default/ path when detecting kernel objects on SLES We still preferentially use arch/arch looking for a native version but if that fails it is acceptable to use default. Brian Behlendorf 2009-07-22 06:59:28 -07:00
  • 78d6de97bd Register a basic compat ioctl handler (32 vs 64 bit compat) Simply pass the ioctl on to the normal handler. If the ioctl helper macros are used correctly this should be safe as they will handle the packing/unpacking of the data encoded in the ioctl command. And actually, if the caller does not use the IO* macros at all, and just passes small values, it will probably be OK as well. We only get in to trouble if they try and use the upper 32-bits. Endianness is not really a concern here, we we are pretty much assumed they user and kernel will match. Brian Behlendorf 2009-07-21 10:13:58 -07:00
  • ac95d0974b Fixed NULL dereference by tcd_for_each() when the kmalloc() call in module/spl/spl-debug.c:1163 returns NULL. Ricardo M. Correia 2009-07-14 15:24:59 -07:00
  • e004f04c8b Prevent integer overflow after ~164 days of uptime. Ricardo M. Correia 2009-07-14 15:23:25 -07:00
  • b11b08ed64 Add a little paranoia here to ensure endianess is set correctly. Brian Behlendorf 2009-07-14 14:28:04 -07:00
  • 06dea10380 Add basic groupmember() function, not sup groups. Brian Behlendorf 2009-07-10 10:58:06 -07:00
  • d3126abe75 Add ddi_copyin/ddi_copyout support for fake kernel originated ioctls. Brian Behlendorf 2009-07-10 10:56:32 -07:00
  • 2a734e9c26 Define ACE_ALL_PERMS for use by ACLs Brian Behlendorf 2009-07-09 15:00:25 -07:00
  • c18cbcfe66 Define FKIOCTL which is used on Solaris to mark an in-kernel ioctl. Brian Behlendorf 2009-07-09 14:59:41 -07:00
  • 3a68dc5374 Add ASSERTV macro to simplify removing variables (the V in ASSERTV) which are only used in ASSERT(). Brian Behlendorf 2009-07-09 12:15:23 -07:00
  • 915404bd50 Add basic support for TASKQ_THREADS_CPU_PCT taskq flag which is used to scale the number of threads based on the number of online CPUs. As CPUs are added/removed we should rescale the thread count appropriately, but currently this is only done at create. Brian Behlendorf 2009-07-09 10:07:52 -07:00
  • 9babb37438 Rebase master to b117 Brian Behlendorf 2009-07-02 15:44:48 -07:00
  • aaad2f7226 Update ChangeLog Brian Behlendorf 2009-07-02 14:19:11 -07:00
  • bb339d0670 Cleanly handle --with-linux=NONE option when used to generate source rpms. These should not be fatal because we actually don't need them until we build the source rpm. When doing mock builds this is important because these dependent rpms will only be installed if they are specificed in the source rpms spec file. Brian Behlendorf 2009-07-02 10:47:28 -07:00
  • 86933a6e51 Simplify rpm build rules, added config/rpm.am. Distro friendly changes such that the kernel modules are packaged seperately. Brian Behlendorf 2009-07-01 14:37:44 -07:00
  • 5c3c70adec Add spl.release to spl-devel to simply dependent package version check. Brian Behlendorf 2009-06-29 16:41:21 -07:00
  • f4f9cd75a1 Install spl-devel products in /usr/src/spl-SPL_VERSION/LINUX_VERSION/ Remove the spl symlink, it's just confusing Brian Behlendorf 2009-06-26 16:30:44 -07:00
  • c0517c35d2 Use do_div on older kernel where do_div64 doesn't exist. Brian Behlendorf 2009-06-26 13:10:52 -07:00
  • 155189d4a7 Additional tuning to get the BuildRequires right for all cases. pl.spec~ Brian Behlendorf 2009-06-26 12:43:27 -07:00
  • ac12b26284 Simplify the kernel depenency logic Brian Behlendorf 2009-06-26 11:37:06 -07:00
  • af971a8594 Spec file update, for some reason the following shorthand syntax was failing so it was replaced with the longer %if version. Brian Behlendorf 2009-06-26 10:34:40 -07:00
  • e28bc9160d SRPM build farm / mock itergration Brian Behlendorf 2009-06-26 09:40:14 -07:00
  • 07114bdee9 Build farm integration to ensure BuildRequires are correct Brian Behlendorf 2009-06-25 16:11:13 -07:00
  • 31b2e0b070 Packaging Fixes - Kernel modules should be built using the LINUX_OBJ Makefiles and not the LINUX Makefiles to ensure the proper install paths are used. - Install modules in to addon/spl/ - Ensure no additional kernel module build products are packaged. - Simplified spl.spec.in which supports RHEL, CHAOS, SLES, FEDORA. Brian Behlendorf 2009-06-25 15:31:53 -07:00
  • 762b96f6c6 Update ChangeLog with a high level summary of the changes from 0.4.3 to 0.4.4 prior to tagging. Full details can be found in the git commit history. Brian Behlendorf 2009-06-22 15:31:40 -07:00
  • 2e0e7e6976 Packaging improvements for RHEL and SLES (part 2) - Allow checking for exported symbols in both Module.symvers and Module.symvers. My stock SLES kernel ships an objects directory with Module.symvers, yet produces a Module.symvers in the local build directory. Brian Behlendorf 2009-06-16 11:34:28 -07:00
  • 39a3d2a421 Packaging improvements for RHEL and SLES - Properly honor --prefix in build system and rpm spec file. - Add '--define require_kdir' to spec file to support building rpms against kernel sources installed in non-default locations. - Add '--define require_kobj' to spec file to support building rpms against kernel object installed in non-default locations. - Stop suppressing errors in autogen.sh script. - Improved logic to detect missing kernel objects when they are not located with the source. This is the common case for SLES as well as in-tree chaos kernel builds and is done to simply support for multiple arches. - Moved spl-devel build products to /usr/src/spl-<version>, a spl symlink is created to reference the last installed version. Brian Behlendorf 2009-06-16 10:44:59 -07:00
  • e554dffa60 SLES10 Fixes (part 9) - Proper ioctl() 32/64-bit binary compatibility. We need to ensure the ioctl data itself is always packed the same for 32/64-bit binaries. Additionally, the correct thing to do is encode this size in bytes as part of the command using _IOC_SIZE(). - Minor formatting changes to respect the 80 character limit. - Move all SPLAT_SUBSYSTEM_* defines in to splat-ctl.h. - Increase SPLAT_SUBSYSTEM_UNKNOWN because we were getting close to accidentally using it for a real registered subsystem. Brian Behlendorf 2009-05-21 10:56:11 -07:00
  • 9593ef76d9 SLES10 Fixes (part 8) - Add compat_ioctl() handler, by default 64-bit SLES systems build 32-bit ELF binaries. For the 32-bit binaries to pass ioctl information to a 64-bit kernel a compatibility handler needs to be registered. In our case no additional conversions are needed to convert 32-bit ioctl() commands to 64-bit commands so we can just call the default handler. Brian Behlendorf 2009-05-20 16:33:08 -07:00
  • 124ca8a5a9 SLES10 Fixes (part 7) - Initial SLES testing uncovered a long standing bug in the debug tracing. The tcd_for_each() macro expected a NULL to terminate the trace_data[i] array but this was only ever true due to luck. All trace_data[] iterators are now properly capped by TCD_TYPE_MAX. - SPLAT_MAJOR 229 conflicted with a 'hvc' device on my SLES system. Since this was always an arbitrary choice I picked something else. - The HAVE_PGDAT_LIST case should set pgdat_list_addr to the value stored at the address of the memory location returned by kallsyms_lookup_name(). Brian Behlendorf 2009-05-20 15:30:13 -07:00
  • 5232d256b4 SLES10 Fixes (part 6) - Prior to 2.6.17 there were no *_pgdat helper functions in mm/mmzone.c. Instead for_each_zone() operated directly on pgdat_list which may or may not have been exported depending on how your kernel was compiled. Now new configure checks determine if you have the helpers or not, and if the needed symbols are exported. If they are not exported then they are dynamically aquired at runtime by kallsyms_lookup_name(). Brian Behlendorf 2009-05-20 14:23:13 -07:00