Brian Behlendorf
54cf7ab2bc
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2010-03-10 09:58:03 -08:00
Brian Behlendorf
166355dcf0
Merge branch 'fix-error-handling' into refs/top-bases/fix-branch
2010-03-10 09:54:43 -08:00
Ricardo M. Correia
62a0ac8f22
Fix some incorrect error handling.
...
In vn_open(), if fstat64() returned an error, the real errno
was being obscured by calling close().
Add error handling for both pwrite64() calls in vn_rdwr().
2010-03-10 09:53:53 -08:00
Brian Behlendorf
8f63d438cd
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-03-09 12:30:18 -08:00
Brian Behlendorf
48e74ed68b
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
2010-03-09 12:30:03 -08:00
Brian Behlendorf
9a3d5378c6
Clean up emulation of kernel threads in userspace.
...
Updated to use pthread thread specific data rather than keeping
a global list. This also fixes at least one easily reproducible
crash in ztest
2010-03-09 12:25:28 -08:00
Brian Behlendorf
f88cbd6535
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-08-04 15:54:21 -07:00
Brian Behlendorf
8c28ed9bff
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
2009-08-04 15:54:19 -07:00
Brian Behlendorf
7069d048a0
Revert kthreads based on pthread thread specific data due to failure.
...
With this patch applied I get the following failure 100% of the time,
I'd prefer to debug it and keep moving forward but I do not have the
time right now so I'm reverting the patch to the version which worked.
Ricardo please fix.
(gdb) bt
0 ztest_dmu_write_parallel (za=0x2aaaac898960) at
../../cmd/ztest/ztest.c:2566
1 0x0000000000405a79 in ztest_thread (arg=<value optimized out>)
at ../../cmd/ztest/ztest.c:3862
2 0x00002b2e6a7a841d in zk_thread_helper (arg=<value optimized out>)
at ../../lib/libzpool/kernel.c:131
3 0x000000379be06367 in start_thread (arg=<value optimized out>)
at pthread_create.c:297
4 0x000000379b2d30ad in clone () from /lib64/libc.so.6
2009-08-04 15:42:24 -07:00
Brian Behlendorf
3e5388907b
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-08-04 14:39:07 -07:00
Brian Behlendorf
9aedfd95f6
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
2009-08-04 14:39:06 -07:00
Ricardo M. Correia
c0ce3b40f2
Reimplement user kthreads based on pthread thread specific data.
...
This resolves previous scalabily concerns about the cost of calling
curthread which previously required a list walk. The kthread address
is now tracked as thread specific data which can be quickly returned.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2009-08-04 13:55:15 -07:00
Brian Behlendorf
db3967ba86
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-24 11:08:43 -07:00
Brian Behlendorf
9a2275c1c5
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
2009-07-24 11:08:42 -07:00
Ricardo M. Correia
51760e3c7e
Change VERIFY() into VERIFY3U() when creating threads in ztest, so that we can see the return code when it fails.
...
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2009-07-24 11:00:23 -07:00
Brian Behlendorf
5753d78dcd
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-14 16:49:29 -07:00
Brian Behlendorf
e9d7526fb3
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
2009-07-14 16:49:27 -07:00
Brian Behlendorf
a13cdecdd2
Remove debug printf
2009-07-14 16:35:13 -07:00
Brian Behlendorf
fef9a2c571
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-14 14:34:39 -07:00
Brian Behlendorf
9b9f17a585
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
2009-07-14 14:34:37 -07:00
Brian Behlendorf
864e44e7e0
Provide correct kthread API semantics using pthreads.
...
The intent here is to fully remove the previous Solaris thread
implementation so we don't need to simulate both Solaris kernel
and user space thread APIs. The few user space consumers of the
thread API have been updated to use the kthread API. In order
to support this we needed to more fully support the kthread API
and that means not doing crazy things like casting a thread id
to a pointer and using that as was done before. This first
implementation is not effecient but it does provide all the
corrent semantics. If/when performance becomes and issue we
can and should just natively adopt pthreads which is portable.
Let me finish by saying I'm not proud of any of this and I would
love to see it improved. However, this slow implementation does
at least provide all the correct kthread API semantics whereas
the previous method of casting the thread ID to a pointer was
dodgy at best.
2009-07-14 14:16:26 -07:00
Brian Behlendorf
058a25a017
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-08 15:00:43 -07:00
Brian Behlendorf
275d66171b
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
2009-07-08 15:00:41 -07:00
Brian Behlendorf
1ab1b8502b
Stop the kthread/thread/pthread mixing and matching insanity. Update all
...
code to only use the kthread API regardless of if it is compiled in the
kernel or user space. The kthread API will be layered on top of pthreads
as best as possible in zfs_context, this is non optimal but much clearer.
2009-07-08 14:47:23 -07:00
Brian Behlendorf
658459249e
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-06 13:17:28 -07:00
Brian Behlendorf
cd098f87c8
Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads
...
Conflicts:
cmd/ztest/ztest.c
2009-07-06 13:16:29 -07:00
Brian Behlendorf
326bb586bd
Merge commit 'refs/top-bases/fix-stack' into fix-stack
2009-07-06 13:13:20 -07:00
Brian Behlendorf
01c3cfc58f
Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch
...
Conflicts:
module/zfs/zil.c
2009-07-06 13:12:23 -07:00
Brian Behlendorf
a1ccb00b7e
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
module/zfs/zil.c
2009-07-06 13:11:34 -07:00
Brian Behlendorf
244d656e28
Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow
...
Conflicts:
module/zfs/dmu.c
2009-07-02 16:59:39 -07:00
Brian Behlendorf
e2b2597751
Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
...
Conflicts:
cmd/zdb/zdb_il.c
cmd/zfs/zfs_main.c
cmd/zinject/zinject.c
cmd/ztest/ztest.c
lib/libzfs/libzfs_dataset.c
lib/libzfs/libzfs_graph.c
module/zcommon/include/sys/fm/fs/zfs.h
module/zcommon/include/zfs_deleg.h
module/zcommon/include/zfs_namecheck.h
module/zcommon/zfs_deleg.c
module/zcommon/zfs_namecheck.c
module/zcommon/zprop_common.c
module/zfs/arc.c
module/zfs/dmu.c
module/zfs/dmu_object.c
module/zfs/dmu_objset.c
module/zfs/dsl_pool.c
module/zfs/dsl_prop.c
module/zfs/fletcher.c
module/zfs/include/sys/dsl_deleg.h
module/zfs/include/sys/dsl_prop.h
module/zfs/include/sys/metaslab_impl.h
module/zfs/include/sys/spa_boot.h
module/zfs/include/sys/zap.h
module/zfs/include/sys/zap_impl.h
module/zfs/include/sys/zfs_context.h
module/zfs/include/sys/zfs_ctldir.h
module/zfs/include/sys/zfs_dir.h
module/zfs/include/sys/zfs_fuid.h
module/zfs/include/sys/zfs_ioctl.h
module/zfs/spa.c
module/zfs/spa_errlog.c
module/zfs/spa_history.c
module/zfs/zap.c
module/zfs/zap_leaf.c
module/zfs/zap_micro.c
module/zfs/zfs_ioctl.c
module/zfs/zio.c
2009-07-02 16:49:11 -07:00
Brian Behlendorf
9babb37438
Rebase master to b117
2009-07-02 15:44:48 -07:00
Brian Behlendorf
ef0a712858
Distro friendly build system / packaging improvements.
...
These changes bring the zfs-0.4.4 tree in to compliance with
the spl-0.4.4 packaging changes. The bottom line is 2 source
rpms and 4 binary rpms will now be generated when creating
packages there will be:
zfs-<version>.src.rpm
- Fully rebuildable source rpm for libzfs and utils.
zfs-modules-<version>.src.rpm
- Fully rebuildable source rpm for kernel modules.
zfs-<version>.<arch>.rpm
- Binary rpm for libzfs and utils. The utils in this package are
compatible with all zfs-module rpms of the same version.
zfs-devel-<version>.<arch>.rpm
- Binary rpm containing headers for building against libzfs libraries.
zfs-modules-<verion>-<kernel>.arch.rpm
- Binary rpm containing the kernel modules for a specific kernel build.
The package name contains the kernel version and you should have one
of these packages installed to match every kernel on your system.
zfs-modules-devel-<verion>-<kernel>.arch.rpm
- Binary rpm containing development header and module symbols needed
for building additional kernel modules which are dependent on the
zfs module stack.
Expect minor interations on these changes as I validate they work
properly on CHAOS, RHEL, Fedora, and SLES style distros.
2009-07-01 10:53:05 -07:00
Brian Behlendorf
e7f02d3b41
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-03-19 20:59:33 -07:00
Brian Behlendorf
eb811f7fa9
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
...
Conflicts:
module/zfs/include/sys/dmu_tx.h
module/zfs/include/sys/txg.h
2009-03-19 20:59:12 -07:00
Brian Behlendorf
54b5b41a58
Add 'feature-pthreads' branch to features branch.
2009-03-19 20:49:52 -07:00
Brian Behlendorf
8c43ad3853
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-03-19 19:49:56 -07:00
Brian Behlendorf
8cdcf1ef44
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2009-03-19 19:49:55 -07:00
Brian Behlendorf
05cec154f5
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2009-03-19 19:49:53 -07:00
Brian Behlendorf
53db4c7b29
Revert fix-pthreads moving to feature-pthreads branch
2009-03-19 19:43:09 -07:00
Brian Behlendorf
82ce8b00f3
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-03-12 15:44:14 -07:00
Brian Behlendorf
6a5acaa105
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2009-03-12 15:44:13 -07:00
Brian Behlendorf
9fe5b916e2
Merge branch 'gcc-fortify-source' into refs/top-bases/gcc-branch
2009-03-12 15:39:27 -07:00
Brian Behlendorf
9e49df6b20
Add gcc-fortify-source branch
2009-03-12 15:38:51 -07:00
Brian Behlendorf
f2e7d57653
Packaging update
...
Make LINUX_VERSION available to Makefile's, add packaging
for user space include headers.
2009-03-12 15:07:29 -07:00
Brian Behlendorf
c8e569dd1c
Build system and packaging (RPM support) (Part 2)
...
Complete support for dist install srpm and rpm make targets.
2009-03-10 21:13:30 -07:00
Brian Behlendorf
7872d84be6
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-02-18 14:30:54 -08:00
Brian Behlendorf
7fe1b71533
Merge commit 'refs/top-bases/fix-stack' into fix-stack
2009-02-18 14:29:19 -08:00
Brian Behlendorf
15f5ddebdf
Merge commit 'refs/top-bases/fix-pthreads' into fix-pthreads
...
Conflicts:
lib/libzpool/kernel.c
2009-02-18 14:29:08 -08:00
Brian Behlendorf
6fe19bd252
Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch
...
Conflicts:
lib/libzpool/kernel.c
module/zfs/arc.c
2009-02-18 14:28:15 -08:00
Brian Behlendorf
f0a8aedfbc
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
...
Conflicts:
lib/libzpool/kernel.c
module/zfs/arc.c
2009-02-18 14:27:12 -08:00
Brian Behlendorf
3eb7fa9afd
Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow
2009-02-18 14:04:08 -08:00
Brian Behlendorf
f686a87058
Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
...
Conflicts:
module/zfs/arc.c
2009-02-18 13:12:26 -08:00
Brian Behlendorf
d164b20935
Rebase master to b108
2009-02-18 12:51:31 -08:00
Brian Behlendorf
6791a1ee34
I don't think we need this in userspace
2009-01-09 15:07:32 -08:00
Brian Behlendorf
ff09d64647
Pull all source in to be built, it will be ifdef'ed out as need by higher level topic branches
2009-01-09 14:37:45 -08:00
Brian Behlendorf
b457fb49f9
Remove vdev_disk from userspace build, vdev_file is used
2009-01-08 10:23:59 -08:00
Brian Behlendorf
c15fa0ceb0
Add include paths
2009-01-05 13:44:26 -08:00
Brian Behlendorf
50735743b7
Err undo that
2008-12-22 16:22:28 -08:00
Brian Behlendorf
bb128e51e6
Use thread so we can add other goodies beyond simply the pthread base
2008-12-22 16:20:36 -08:00
Brian Behlendorf
29b47d366e
Remove some headers
2008-12-22 14:42:02 -08:00
Brian Behlendorf
90e5216ea9
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2008-12-22 13:51:17 -08:00
Brian Behlendorf
035e4d373e
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2008-12-22 13:51:16 -08:00
Brian Behlendorf
c9597f9a4f
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2008-12-22 13:51:15 -08:00
Brian Behlendorf
6bed331e59
More compat changes
2008-12-22 13:47:58 -08:00
Brian Behlendorf
121effcbee
Pull everything in to the Makefile
2008-12-22 12:51:03 -08:00
Brian Behlendorf
7047bb0678
Add missing files from Makefile.am
2008-12-22 11:36:48 -08:00
Brian Behlendorf
10911f9d71
Add missing sources
2008-12-22 10:27:41 -08:00
Brian Behlendorf
60289ccd8f
Add zfs_byteswap
2008-12-19 16:51:14 -08:00
Brian Behlendorf
96813619bf
Pull in new background scrubber
2008-12-19 16:29:13 -08:00
Brian Behlendorf
8ab575cd8e
Remove vdev_disk.c from userspace build, we simply use vdev_file.c here
2008-12-19 13:35:29 -08:00
Brian Behlendorf
e485017676
Remove spa_boot from userspace build
2008-12-19 12:04:45 -08:00
Brian Behlendorf
9de4108779
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2008-12-19 10:18:12 -08:00
Brian Behlendorf
3e2e5c4535
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2008-12-19 10:18:12 -08:00
Brian Behlendorf
a68af79057
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2008-12-19 10:18:11 -08:00
Brian Behlendorf
d4c39af7a6
Re-add KM_PUSHPAGE
2008-12-19 10:15:52 -08:00
Brian Behlendorf
330840ff2e
Re-add KM_PUSHPAGE
2008-12-19 10:15:27 -08:00
Brian Behlendorf
2d0ae2710c
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2008-12-19 09:52:53 -08:00
Brian Behlendorf
5906903384
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2008-12-19 09:52:52 -08:00
Brian Behlendorf
3d8832a795
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2008-12-19 09:52:51 -08:00
Brian Behlendorf
3bc48c3e74
Missing func readd
2008-12-19 09:50:15 -08:00
Brian Behlendorf
111303eeb8
context
2008-12-19 09:47:09 -08:00
Brian Behlendorf
dbc567603d
Readd removed hunk
2008-12-19 09:39:17 -08:00
Brian Behlendorf
72bf32a79f
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2008-12-18 13:18:19 -08:00
Brian Behlendorf
844a9ced6d
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2008-12-18 13:18:17 -08:00
Brian Behlendorf
33e499be43
Merge branch 'fix-stack' into refs/top-bases/fix-branch
2008-12-18 13:18:15 -08:00
Brian Behlendorf
8e136cf0c9
Add noinline macro for userspace
2008-12-18 13:15:58 -08:00
Brian Behlendorf
0a353443cd
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2008-12-18 10:01:41 -08:00
Brian Behlendorf
9c0846462b
Resolve conflict
2008-12-18 10:01:37 -08:00
Brian Behlendorf
4df7b421a1
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2008-12-18 10:00:46 -08:00
Brian Behlendorf
25a3fca866
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2008-12-18 10:00:45 -08:00
Brian Behlendorf
9e195d0cbf
Merge branch 'gcc-invalid-prototype' into refs/top-bases/gcc-branch
2008-12-18 10:00:44 -08:00
Brian Behlendorf
c8f253cda8
Now fixed in fix-pthreads branch
2008-12-18 09:58:42 -08:00
Brian Behlendorf
229aba2943
Properly cast thread functions for pthreads
2008-12-18 09:56:22 -08:00
Brian Behlendorf
893ed2fad0
Properly cast thread functions for pthreads
2008-12-18 09:56:05 -08:00
Brian Behlendorf
f799177730
Add all sources for libzfs userspace funcationality
2008-12-17 16:39:45 -08:00
Brian Behlendorf
5ea99efac7
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2008-12-17 11:36:20 -08:00
Brian Behlendorf
676ab35598
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2008-12-17 11:36:19 -08:00
Brian Behlendorf
0106dabb11
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2008-12-17 11:36:18 -08:00
Brian Behlendorf
a681d70e28
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2008-12-17 11:36:17 -08:00