Brian Behlendorf
38cc41b5fe
Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype
2009-08-18 12:05:26 -07:00
Brian Behlendorf
e5e4fadc34
Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
...
Conflicts:
module/zfs/dmu.c
module/zfs/dsl_deleg.c
module/zfs/rrwlock.c
module/zfs/vdev_raidz.c
2009-08-18 12:04:53 -07:00
Brian Behlendorf
45d1cae3b8
Rebase master to b121
2009-08-18 11:43:27 -07:00
Brian Behlendorf
4014bd401f
Major vdev_disk feature and API (thru 2.6.30) update.
...
Tested under CHAOS4.2, RHEL5, SLES11, and FC11 (all x86_64)
Features:
Honor spa_mode() when opening the block device. Previously this
was ignored and devices were always opened read/write.
Integrated DKIOCFLUSHWRITECACHE zio operation with linux WRITE_BARRIER
for kernels post 2.6.24 where empty bio requests are supported. For
earlier kernels ENOTSUP is returned and no barriers are performed. If
RHEL5 based kernels are intended to be supported long term we may need
make use of the old akward API.
With the addition of WRITE_BARRIER support all writes which were
WRITE_SYNC can now be safely made WRITE bios. They will now take
advantage of aggregation in the elevator and improved write performance
is likely.
Notice the ZIO_FLAG_SPECULATIVE flag and pass along the hint to the
elevator by using READA instead of READ. This provides the elevator
the ability to prioritize the real READs ahead of the speculative IO
if needed.
Implement an initial version of vdev_disk_io_done() which in the case
of an EIO error triggers a media change check. If it determines a
media change has occured we fail the device and remove it from the
config. This logic I'm sure can be improved further but for now it
is an improvement over the VERIFY() that no error will ever happen.
APIs:
2.6.22 API change
Unused destroy_dirty_buffers arg removed from prototype.
2.6.24 API change
Empty write barriers are now supported and we should use them.
2.6.24 API change
Size argument dropped from bio_endio and bi_end_io, because the
bi_end_io is only called once now when the request is complete.
There is no longer any need for a size argument. This also means
that partial IO's are no longer possibe and the end_io callback
should not check bi->bi_size. Finally, the return type was updated
to void.
2.6.28 API change
open/close_bdev_excl() renamed to open/close_bdev_exclusive().
2.6.29 API change
BIO_RW_SYNC renamed to BIO_RW_SYNCIO.
2009-07-29 17:24:08 -07:00
Brian Behlendorf
f48b799f78
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2009-07-06 15:03:09 -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
d369760713
Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key
2009-07-06 13:14:41 -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
a06a428e15
Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas
...
Conflicts:
cmd/zdb/zdb_il.c
cmd/zinject/zinject.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/dmu_object.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_errlog.c
module/zfs/spa_history.c
module/zfs/zap.c
module/zfs/zap_leaf.c
module/zfs/zap_micro.c
2009-07-02 17:06:20 -07:00
Brian Behlendorf
5a2a5d64a5
Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype
2009-07-02 16:51:09 -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
b08807315c
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2009-03-19 21:09:02 -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
f180959bac
Merge branch 'feature-pthreads' into refs/top-bases/feature-branch
2009-03-19 20:51:18 -07:00
Brian Behlendorf
29703a5b4e
Add 'feature-commit-cb' branch for DMU commit callbacks.
2009-03-19 20:30:14 -07:00
Brian Behlendorf
7c39f7c920
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2009-03-19 15:30:57 -07:00
Brian Behlendorf
2518c98d9e
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2009-03-19 15:29:34 -07:00
Brian Behlendorf
c8c4948d00
Merge branch 'fix-dnode-cons' into refs/top-bases/fix-branch
2009-03-19 15:29:33 -07:00
Brian Behlendorf
60d25f4b93
The patch resolves the extra call to dnode_cons() in dnode_create().
...
The extra call to the constructor was there to reinitialize the non-
trivial primatives in the dnode (lists, mutexs, condvars, avl tree, etc).
This was safe, although not exactly clean, on Solaris because none of
the primitives allocate memory. In the Linux port this is not true.
To keep stack usage to a minimum several of the primatives dynamically
allocate memory thus initializing them twice results in a memory leak.
This patch resolves this problem for Solaris and Linux by ensuring all
*_inits are called in the constructor, and all *_destroys are called
in the destructor. Additionally we ensure that all dnode objects are
properly deconstructed before being freed to the slab, and when the
objects are allocated from the slab all required data members are
explicity initialized to correct values.
2009-03-19 15:22:48 -07:00
Brian Behlendorf
fbe3b02667
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2009-03-11 11:18:54 -07:00
Brian Behlendorf
5f30a3cb0e
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2009-03-11 11:09:11 -07:00
Brian Behlendorf
8fe801fd8f
Merge branch 'gcc-ident-pragmas' into refs/top-bases/gcc-branch
2009-03-11 11:00:42 -07:00
Ricardo M. Correia
af45030850
Added 'gcc-ident-pragmas' branch.
2009-03-11 10:59:45 -07:00
Brian Behlendorf
4f57a6ccb6
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2009-03-11 10:43:09 -07:00
Brian Behlendorf
d43e9ca262
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2009-03-11 10:40:31 -07:00
Brian Behlendorf
d641369d38
Merge branch 'gcc-64bit-constants' into refs/top-bases/gcc-branch
2009-03-11 10:32:45 -07:00
Ricardo M. Correia
fd9a7a0fb4
Add 'ull' suffix to 64-bit constants.
2009-03-11 10:31:24 -07:00
Brian Behlendorf
3d4185ed1d
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2009-02-18 14:35:43 -08:00
Brian Behlendorf
87307ab12a
Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key
2009-02-18 14:30:48 -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
fc8954db24
Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype
2009-02-18 13:12:48 -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
465b2c795d
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2009-01-15 14:21:24 -08:00
Brian Behlendorf
27cf20b0d6
Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key
2009-01-15 14:16:19 -08:00
Brian Behlendorf
551838a6c8
Resolve conflict with removed cleaner type
2009-01-15 14:13:39 -08:00
Brian Behlendorf
da7151a89e
Resolve conflict with removed cleaner type
2009-01-15 14:11:19 -08:00
Brian Behlendorf
86e39f5e3b
Resolve conflict with removed cleaner type
2009-01-15 14:05:21 -08:00
Brian Behlendorf
3fa768e21b
Resolve conflict with removed cleaner type
2009-01-15 14:04:35 -08:00
Brian Behlendorf
fb5f0bc833
Rebase master to b105
2009-01-15 13:59:39 -08:00
Brian Behlendorf
e095be1cc5
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2009-01-13 15:03:12 -08:00
Brian Behlendorf
4a5bd7a3a8
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2009-01-13 15:02:11 -08:00
Brian Behlendorf
bec036636e
List cleanup and use of list_node_init initializer
2009-01-13 15:00:12 -08:00
Brian Behlendorf
4522c570e8
Add missing prototype
2009-01-06 08:39:45 -08:00
Brian Behlendorf
3a1f0dcde1
Refresh prototype due to upstream changes
2009-01-05 16:53:23 -08:00
Brian Behlendorf
caac73b67d
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2008-12-18 11:39:34 -08:00
Brian Behlendorf
9ae2c70438
Merge branch 'feature-branch' into refs/top-bases/zfs-branch
2008-12-18 11:34:25 -08:00
Brian Behlendorf
625fac6664
Merge branch 'feature-commit-cb' into refs/top-bases/feature-branch
2008-12-18 11:34:24 -08:00
Brian Behlendorf
63bf9b60d5
Revert changes from this branch so the branch may be removed. We
...
will integrate the latest patch from Sun here once everything is
is basically working. This verion of the patch is out of date
anyone and may not be what is needed.
2008-12-18 11:31:32 -08:00
Brian Behlendorf
e885dd3a7d
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2008-12-17 12:29:14 -08:00
Brian Behlendorf
9ef6211ce7
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2008-12-17 12:23:57 -08:00
Brian Behlendorf
b23299c7db
Fix two prototypes in the right place
2008-12-17 12:20:20 -08:00
Brian Behlendorf
3278f7b38d
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2008-12-17 12:16:26 -08:00
Brian Behlendorf
6a509b3bca
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2008-12-17 11:50:41 -08:00
Brian Behlendorf
77811f8236
Fix prototype
2008-12-17 11:48:40 -08:00
Brian Behlendorf
a2d1d32c17
move vdev_disk to it's new home
2008-12-11 15:26:36 -08:00
Brian Behlendorf
e1694cfaec
Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key
2008-12-11 11:27:18 -08:00
Brian Behlendorf
8aad84f781
Merge branch 'feature-commit-cb' into refs/top-bases/feature-branch
2008-12-11 11:27:12 -08:00
Brian Behlendorf
e152d6e601
Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb
2008-12-11 11:27:10 -08:00
Brian Behlendorf
756a122d37
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2008-12-11 11:25:42 -08:00
Brian Behlendorf
8f8ac4288f
Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype
2008-12-11 11:25:09 -08:00
Brian Behlendorf
4f5d567cfd
Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
2008-12-11 11:24:45 -08:00
Brian Behlendorf
172bb4bd5e
Move the world out of /zfs/ and seperate out module build tree
2008-12-11 11:08:09 -08:00