Brian Behlendorf
45d1cae3b8
Rebase master to b121
2009-08-18 11:43:27 -07:00
Brian Behlendorf
91f8f3fcf5
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2009-08-14 10:25:07 -07:00
Brian Behlendorf
2439a6dfe8
Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
2009-08-14 10:22:47 -07:00
Brian Behlendorf
fdeb55c22b
Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt
2009-08-14 10:22:35 -07:00
Brian Behlendorf
feb385e65c
Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch
2009-08-14 10:22:13 -07:00
Brian Behlendorf
503a1a983c
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-08-14 10:22:10 -07:00
Brian Behlendorf
bd586322cc
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2009-08-14 10:22:08 -07:00
Brian Behlendorf
f9bab26542
Merge branch 'gcc-fortify-source' into refs/top-bases/gcc-branch
2009-08-14 10:22:07 -07:00
Brian Behlendorf
e6b541db64
All calls to ftruncate() must have their return code checked.
...
Under FC11 rpm builds by default add the --fortify-source option which
ensures that functions flagged with certain attributes must have their
return codes checked. Normally this is just a warning but we always
build with -Werror so this is fatal. Simply wrap the function in a
verify call to ensure we catch a failure if there is one.
2009-08-14 10:11:03 -07:00
Brian Behlendorf
4eae170dc5
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2009-08-04 15:57:44 -07:00
Brian Behlendorf
e86a0e8ad1
Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
2009-08-04 15:55:06 -07:00
Brian Behlendorf
d41ab91034
Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt
2009-08-04 15:54:53 -07:00
Brian Behlendorf
72fc3eca7e
Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch
2009-08-04 15:54:25 -07: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
94fd6b5326
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2009-08-04 14:42:33 -07:00
Brian Behlendorf
4576ca6889
Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
2009-08-04 14:39:53 -07:00
Brian Behlendorf
2484ccf4ac
Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt
2009-08-04 14:39:40 -07:00
Brian Behlendorf
139ca4655e
Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch
2009-08-04 14:39:11 -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
Brian Behlendorf
0ebcbe2e74
Revert unneeded ztest_resume() prototype changes to match upstream.
2009-08-04 14:29:50 -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
04591d82bb
Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch
2009-07-21 14:52:46 -07:00
Brian Behlendorf
efb9868b69
Pretty-up the 'make check' output
...
Reasonable output from 'make check' now looks roughly like this. The
big change is the consolidation of the all the zpion test results in
to a single table which can be easily scanned for failures/problems.
==================================== ZTEST ====================================
5 vdevs, 7 datasets, 23 threads, 300 seconds...
Pass 1, SIGKILL, 1 ENOSPC, 13.8% of 238M used, 17% done, 4m07s to go
Pass 2, SIGKILL, 1 ENOSPC, 23.7% of 238M used, 38% done, 3m04s to go
Pass 3, SIGKILL, 0 ENOSPC, 27.0% of 238M used, 66% done, 1m42s to go
Pass 4, SIGKILL, 0 ENOSPC, 27.4% of 238M used, 75% done, 1m14s to go
Pass 5, SIGKILL, 0 ENOSPC, 27.9% of 238M used, 89% done, 32s to go
Pass 6, Complete, 0 ENOSPC, 14.0% of 476M used, 100% done, 0s to go
5 killed, 1 completed, 83% kill rate
==================================== ZPIOS ====================================
status name id wr-data wr-ch wr-bw rd-data rd-ch rd-bw
-------------------------------------------------------------------------------
PASS: file-raid0 0 64m 64 13.04m 64m 64 842.22m
PASS: file-raid10 0 64m 64 134.19m 64m 64 842.22m
PASS: file-raidz 0 64m 64 87.56m 64m 64 853.45m
PASS: file-raidz2 0 64m 64 134.19m 64m 64 853.45m
PASS: lo-raid0 0 64m 64 429.59m 64m 64 14.63m
PASS: lo-raid10 0 64m 64 397.57m 64m 64 771.19m
PASS: lo-raidz 0 64m 64 206.48m 64m 64 688.27m
PASS: lo-raidz2 0 64m 64 14.34m 64m 64 711.21m
2009-07-21 14:41:35 -07:00
Brian Behlendorf
6af0c921a6
Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch
2009-07-21 10:35:24 -07:00
Brian Behlendorf
43ad6bb2ad
Register compat ioctl handlers for zpios + 32-bit safe timespec.
...
A compat ioctl handler for zpios was added which simply passes the
ioctl on to the usual handler. The IOWR macro's correctly handle
this. Additionally replace the use of 'struct timespec' which uses
longs internally and is therefore different sizes on 32-bit vs 64-bit
objects with 'struct zpios_timespec_t'. This custom structure uses
uint32_t types internally and is safe to pass through an ioctl. The
helper functions for this new type were also moved to a common place
so they may be used safely by the user or kernel code.
2009-07-21 10:22:47 -07:00
Brian Behlendorf
24f65b670e
Merge commit 'refs/top-bases/linux-zpios' into linux-zpios
2009-07-14 14:38:54 -07:00
Brian Behlendorf
2807f723c1
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2009-07-14 14:38:39 -07:00
Brian Behlendorf
563dcb7a96
Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
2009-07-14 14:35:41 -07:00
Brian Behlendorf
4367207e48
Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt
2009-07-14 14:35:27 -07:00
Brian Behlendorf
8121895a61
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2009-07-14 14:34:44 -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
af0e394f1e
Merge commit 'refs/top-bases/linux-zpios' into linux-zpios
2009-07-09 12:27:45 -07:00
Brian Behlendorf
63ffedf3ba
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2009-07-09 12:27:31 -07:00
Brian Behlendorf
aa530c0cd5
Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
2009-07-09 12:24:40 -07:00
Brian Behlendorf
d683386532
Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt
2009-07-09 12:24:26 -07:00
Brian Behlendorf
999f693b85
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2009-07-09 12:23:46 -07:00
Brian Behlendorf
c4c4afd8fd
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-09 12:23:41 -07:00
Brian Behlendorf
6db8882b78
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2009-07-09 12:23:39 -07:00
Brian Behlendorf
76bf02aebb
Merge branch 'gcc-unused' into refs/top-bases/gcc-branch
2009-07-09 12:23:36 -07:00
Brian Behlendorf
f1d99c0653
Revert to original debugging code and wrap any variabled used only
...
within an ASSERT with the ASSERTV macro which will ensure it will
be removed when the ASSERTs are commented out. This makes gcc much
happier, makes the variables usage explicit, and removes the need
for the compiler to detect it is unused and do the right thing.
2009-07-09 12:10:52 -07:00
Brian Behlendorf
f0fb421934
Merge commit 'refs/top-bases/linux-zpios' into linux-zpios
2009-07-08 16:11:58 -07:00
Brian Behlendorf
92d51724d5
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2009-07-08 16:11:44 -07:00
Brian Behlendorf
b2d5b42a02
Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
2009-07-08 16:09:07 -07:00
Brian Behlendorf
4f8cdd006b
Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt
2009-07-08 16:08:53 -07:00
Brian Behlendorf
963603808d
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2009-07-08 16:08:18 -07:00
Brian Behlendorf
8070ba7bea
Untracked pthread changes which must have accidentally crept in.
...
This is exactly the reason why I want a new topgit command which
takes the base, then incrementally applies all the patches and
compares them againsts what is actually committed. This would
ensure this sort of thing doesn't happen!
2009-07-08 15:58:28 -07:00
Brian Behlendorf
5cbd98db73
Merge commit 'refs/top-bases/linux-zpios' into linux-zpios
2009-07-08 15:04:37 -07:00
Brian Behlendorf
133f5a2bdd
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2009-07-08 15:04:23 -07:00
Brian Behlendorf
28dcf07ed5
Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
2009-07-08 15:01:40 -07:00
Brian Behlendorf
9d0a9d87d6
Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt
2009-07-08 15:01:26 -07:00
Brian Behlendorf
c821af8f89
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2009-07-08 15:00:48 -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
57ae3b59e9
Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads
2009-07-08 15:00:39 -07:00
Brian Behlendorf
2caba8e240
Add new DMU_READ_PREFETCH flag to dmu_read().
2009-07-08 14:51:55 -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
cfa46b4440
Merge commit 'refs/top-bases/linux-zpios' into linux-zpios
2009-07-08 09:19:57 -07:00
Brian Behlendorf
78b1d31076
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2009-07-08 09:19:44 -07:00
Brian Behlendorf
cca71cc88b
Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
2009-07-08 09:17:00 -07:00
Brian Behlendorf
1182c9a9d1
Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt
2009-07-08 09:16:47 -07:00
Brian Behlendorf
affa4ec536
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2009-07-08 09:16:10 -07:00
Brian Behlendorf
33077ad631
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-08 09:16:05 -07:00
Brian Behlendorf
f00e6fe5c3
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2009-07-08 09:16:04 -07:00
Brian Behlendorf
23cff295e2
Merge branch 'gcc-cast' into refs/top-bases/gcc-branch
2009-07-08 09:16:02 -07:00
Brian Behlendorf
5fc46112cb
Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
2009-07-08 09:16:01 -07:00
Brian Behlendorf
b2e459dab0
Add explicit casts for (u_longlong_t) when printing uint64_t.
2009-07-08 09:07:13 -07:00
Brian Behlendorf
5534447477
Add explicit casts for (u_longlong_t) when printing uint64_t.
2009-07-08 09:06:03 -07:00
Brian Behlendorf
b2dcbdf490
Resolve a 2 new cases of for loop variable declared in for()
2009-07-08 09:04:21 -07:00
Brian Behlendorf
20989cd4f2
Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch
2009-07-06 17:01:43 -07:00
Brian Behlendorf
621679fec6
Update to use dmu_read() instead of dmu_read_impl() now that a 'flags'
...
argument is available. This flags argument was added to allow a clean
API for disabling prefetch, so I'll update zpios to use it in preference
to the module option hack used before.
2009-07-06 16:51:59 -07:00
Brian Behlendorf
684a4c5f30
Merge commit 'refs/top-bases/linux-zpios' into linux-zpios
2009-07-06 15:41:50 -07:00
Brian Behlendorf
f90e398526
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2009-07-06 15:41:37 -07:00
Brian Behlendorf
d895de5ecb
Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
2009-07-06 15:39:35 -07:00
Brian Behlendorf
093f510c09
Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt
2009-07-06 15:39:24 -07:00
Brian Behlendorf
acd330cad6
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
2009-07-06 15:38:55 -07:00
Brian Behlendorf
69b2257940
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2009-07-06 15:38:51 -07:00
Brian Behlendorf
8463b9e01e
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
2009-07-06 15:38:50 -07:00
Brian Behlendorf
3a8e684d73
Additional lock calls were added to ztest and they must be updated
...
to use the pthread's API in favour of Solaris threads.
2009-07-06 15:31:54 -07:00
Brian Behlendorf
d65102b493
Merge commit 'refs/top-bases/linux-zpios' into linux-zpios
2009-07-06 15:08:57 -07:00
Brian Behlendorf
409cfe5051
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
...
Conflicts:
lib/libzfs/libzfs_pool.c
2009-07-06 15:05:47 -07:00
Brian Behlendorf
053043b2d0
Merge commit 'refs/top-bases/linux-have-libefi' into linux-have-libefi
...
Conflicts:
lib/libzfs/libzfs_pool.c
2009-07-06 13:44:19 -07:00
Brian Behlendorf
a33c6c25d2
Merge commit 'refs/top-bases/linux-have-libdiskmgt' into linux-have-libdiskmgt
2009-07-06 13:43:22 -07:00
Brian Behlendorf
149c4b2731
Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
lib/libzfs/libzfs_pool.c
module/zcommon/zfs_namecheck.c
module/zfs/dmu.c
module/zfs/include/sys/dmu.h
module/zfs/include/sys/zfs_fuid.h
module/zfs/spa.c
module/zfs/vdev.c
module/zfs/zap_micro.c
module/zfs/zfs_fuid.c
module/zfs/zfs_ioctl.c
module/zfs/zfs_vfsops.c
module/zfs/zfs_znode.c
2009-07-06 13:40:29 -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
926b04acba
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
2009-07-06 13:17:16 -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
8795d8f034
Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb
2009-07-06 13:15:43 -07:00
Brian Behlendorf
95ba24ed69
Merge branch 'feature-zap-cursor-to-key' into refs/top-bases/feature-branch
...
Conflicts:
cmd/ztest/ztest.c
2009-07-06 13:15:35 -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
dbaf4f6c0f
Merge commit 'refs/top-bases/gcc-fortify-source' into gcc-fortify-source
...
Conflicts:
cmd/ztest/ztest.c
2009-07-02 17:08:30 -07:00
Brian Behlendorf
44703f0029
Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit
...
Conflicts:
lib/libzfs/libzfs_dataset.c
module/zfs/arc.c
module/zfs/spa.c
2009-07-02 16:57:09 -07:00
Brian Behlendorf
b095bf444a
Merge commit 'refs/top-bases/gcc-cast' into gcc-cast
...
Conflicts:
cmd/zfs/zfs_main.c
lib/libzfs/libzfs_dataset.c
2009-07-02 16:50:53 -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
e9f14862a5
Merge commit 'refs/top-bases/gcc-c90' into gcc-c90
...
Conflicts:
module/zfs/dmu_objset.c
module/zfs/spa.c
module/zfs/vdev.c
module/zfs/vdev_label.c
module/zfs/zio.c
2009-07-02 16:18:03 -07:00
Brian Behlendorf
9babb37438
Rebase master to b117
2009-07-02 15:44:48 -07:00