Commit Graph

1849 Commits

Author SHA1 Message Date
Brian Behlendorf
f74fae8b30 Fix 4K sector support
Yesterday I ran across a 3TB drive which exposed 4K sectors to
Linux.  While I thought I had gotten this support correct it
turns out there were 2 subtle bugs which prevented it from
working.

  sudo ./cmd/zpool/zpool create -f large-sector /dev/sda
  cannot create 'large-sector': one or more devices is currently unavailable

1) The first issue was that it was possible that bdev_capacity()
would return the number of 512 byte sectors rather than the number
of 4096 sectors.  Internally, certain Linux functions only operate
with 512 byte sectors so you need to be careful.  To avoid any
confusion in the future I've updated bdev_capacity() to simply
return the device (or partition) capacity in bytes.  The higher
levels of ZFS want the value in bytes anyway so this is cleaner.

2) When creating a bio the ->bi_sector count must always be
expressed in 512 byte sectors.  The existing code would scale
the byte offset by the logical sector size.   Until now this was
always 512 so it never caused problems.  Trying a 4K sector drive
clearly exposed the issue.  The problem has been fixed by
hard coding the 512 byte sector which is exactly what the bio
code does internally.

With these changes I'm now able to create ZFS pools using 4K
sector drives.  No issues were observed during fairly extensive
testing.  This is also a low risk change if your using 512b
sectors devices because none of the logic changes.

Closes #256
2011-05-27 11:38:53 -07:00
Darik Horn
57b6e70c5b Use 0.6.0.15 as the unofficial version.
Merge upstream and use git-dch to update the debian/changelog.
2011-05-23 09:20:22 -05:00
Darik Horn
1b46413b99 Merge branch 'upstream' 2011-05-23 09:14:17 -05:00
Brian Behlendorf
2b8cad6159 Use vmem_alloc() for zfs_ioc_userspace_many()
The default buffer size when requesting multiple quota entries
is 100 times the zfs_useracct_t size.  In practice this works out
to exactly 27200 bytes.  Since this will be a short lived buffer
in a non-performance critical path it is preferable to vmem_alloc()
the needed memory.
2011-05-20 14:23:18 -07:00
Brian Behlendorf
4804b739e1 Default to internal 'zfs userspace' implementation
We will never bring over the pyzfs.py helper script from Solaris
to Linux.  Instead the missing functionality will be directly
integrated in to the zfs commands and libraries.  To avoid
confusion remove the warning about the missing pyzfs.py utility
and simply use the default internal support.

The Illumous developers are of the same mind and have proposed an
initial patch to do this which has been integrated in to the 'allow'
development branch.  After some additional testing this code
can be merged in to master as the right long term solution.
2011-05-20 10:25:41 -07:00
Brian Behlendorf
f01b360e67 Pass caller's credential in zfsdev_ioctl()
Initially when zfsdev_ioctl() was ported to Linux we didn't have
any credential support implemented.  So at the time we simply
passed NULL which wasn't much of a problem since most of the
secpolicy code was disabled.

However, one exception is quota handling which does require the
credential.  Now that proper credentials are supported we can
safely start passing the callers credential.  This is also an
initial step towards fully implemented the zfs secpolicy.
2011-05-20 10:12:25 -07:00
Brian Behlendorf
3fd70ee6b0 Fix 'negative objects to delete' warning
Normally when the arc_shrinker_func() function is called the return
value should be:

   >=0 - To indicate the number of freeable objects in the cache, or
   -1  - To indicate this cache should be skipped

However, when the shrinker callback is called with 'nr_to_scan' equal
to zero.  The caller simply wants the number of freeable objects in
the cache and we must never return -1.  This patch reorders the
first two conditionals in arc_shrinker_func() to ensure this behavior.

This patch also now explictly casts arc_size and arc_c_min to signed
int64_t types so MAX(x, 0) works as expected.  As unsigned types
we would never see an negative value which defeated the purpose of
the MAX() lower bound and broke the shrinker logic.

Finally, when nr_to_scan is non-zero we explictly prevent all reclaim
below arc_c_min.  This is done to prevent the Linux page cache from
completely crowding out the ARC.  This limit is tunable and some
experimentation is likely going to be required to set it exactly right.
For now we're sticking with the OpenSolaris defaults.

Closes #218
Closes #243
2011-05-18 10:29:22 -07:00
Alexey Shvetsov
d9bfe0f57a Fix distribution detection for gentoo
Also this may fix other distros because some of them also provide
/etc/lsb-release not only ubuntu.

Closes #244
2011-05-14 08:54:48 -07:00
Brian Behlendorf
e814770f2e Update synchronous open zfs_close() comment
The comment in zfs_close() pertaining to decrementing the synchronous
open count needs to be updated for Linux.  The code was already
updated to be correct, but the comment was missed and is now misleading.
Under Linux the zfs_close() hook is only called once when the final
reference is dropped.  This differs from Solaris where zfs_close()
is called for each close.

Closes #237
2011-05-13 08:20:06 -07:00
Alexey Shvetsov
6f582dc708 Remove root 'ls' after mount workaround
This workaround was introduced to workaround issue #164.  This
issue was fixed by commit 5f35b19 so the workaround can be safely
dropped from both the zfs.fedora and zfs.gentoo init scripts.
2011-05-12 15:01:35 -07:00
Alexey Shvetsov
06abcdd3f4 Fix zfs.gentoo init script logic
* Fix zfs.ko module check
* Check 'zfs umount -a' return value
2011-05-12 14:45:57 -07:00
Alexey Shvetsov
04c22478a7 Make zfs.gentoo init script more gentoo style.
* Improved compatibility with openrc
* Removed LOCKFILE
* Improved checksystem() function
* Remove /etc/mtab check for /
* General cleanup
2011-05-12 14:42:43 -07:00
Darik Horn
616a1018cf Use git-dch to update the debian/changelog. 2011-05-11 20:29:12 -05:00
Darik Horn
16c2a6335a Use 0.6.0.14 as the unofficial version. 2011-05-11 20:27:59 -05:00
Darik Horn
e1d44b80cf Merge branch 'upstream' 2011-05-11 20:27:03 -05:00
Brian Behlendorf
c91d229809 Merge pull request #235 from nedbass/rdev
Don't store rdev in SA for FIFOs and sockets
2011-05-09 16:41:28 -07:00
Ned A. Bass
aa6d8c1086 Don't store rdev in SA for FIFOs and sockets
Update the handling of named pipes and sockets to be consistent with
other platforms with regard to the rdev attribute.  While all ZFS
ipmlementations store the rdev for device files in a system attribute
(SA), this is not the case for FIFOs and sockets.  Indeed, Linux always
passes rdev=0 to mknod() for FIFOs and sockets, so the value is not
needed.  Add an ASSERT that rdev==0 for FIFOs and sockets to detect if
the expected behavior ever changes.

Closes #216
2011-05-09 13:35:07 -07:00
Brian Behlendorf
21ade34764 Disable direct reclaim for z_wr_* threads
The direct reclaim path in the z_wr_* threads must be disabled
to ensure forward progress is always maintained for txg processing.
This ensures that a txg will never get stuck waiting on itself
because it entered the following memory reclaim callpath.

  ->prune_icache()->dispose_list()->zpl_clear_inode()->zfs_inactive()
  ->dmu_tx_assign()->dmu_tx_wait()->tgx_wait_open()

It would be preferable to target this exact code path but the
kernel offers no way to do this without custom patches.  To avoid
this we are forced to disable all reclaim for these threads.  It
should not be necessary to do this for other other z_* threads
because they will not hold a txg open.

Closes #232
2011-05-06 15:26:26 -07:00
Brian Behlendorf
3117dd0b90 Handle NULL in nfsd .fsync() hook
How nfsd handles .fsync() has been changed a couple of times in the
recent kernels.  But basically there are three cases we need to
consider.

Linux 2.6.12 - 2.6.33
* The .fsync() hook takes 3 arguments
* The nfsd will call .fsync() with a NULL file struct pointer.

Linux 2.6.34
* The .fsync() hook takes 3 arguments
* The nfsd no longer calls .fsync() but instead used sync_inode()

Linux 2.6.35 - 2.6.x
* The .fsync() hook takes 2 arguments
* The nfsd no longer calls .fsync() but instead used sync_inode()

For once it looks like we've gotten lucky.  The first two cases can
actually be collased in to one if we stop using the file struct
pointer entirely.  Since the dentry is still passed in both cases
this is possible.  The last case can then be safely handled by
unconditionally using the dentry in the file struct pointer now
that we know the nfsd caller has been removed.

Closes #230
2011-05-06 12:33:45 -07:00
Brian Behlendorf
6ee44e32be Fix awk usage
The zpool_id and zpool_layout helper scripts have been updated to
use the more common /usr/bin/awk symlink.  On Fedora/Redhat systems
there are both /bin/awk and /usr/bin/awk symlinks to your installed
version of awk.  On Debian/Ubuntu systems only the /usr/bin/awk
symlink exists.

Additionally, add the '\<' token to the beginning of the regex
pattern to prevent partial matches.  This pattern only appears to
work with gawk despite the mawk man page claiming to support this
extended regex.  Thus you will need to have gawk installed to use
these optional helper scripts.  A comment has been added to the
script to reflect this reality.
2011-05-06 10:16:04 -07:00
Brian Behlendorf
34b84cb831 Use vmem_alloc() for zfs_ioc_pool_get_history()
The default buffer size when requesting history is 128k.  This
is far to large for a kmem_alloc() so instead use the slower
vmem_alloc().  This path has no performance concerns and the
buffer is immediately free'd after its contents are copied to
the user space buffer.
2011-05-06 09:59:52 -07:00
Darik Horn
c3e00bd56a Use git-dch to update the debian/changelog. 2011-05-05 20:49:04 -05:00
Darik Horn
11057aacbd Use 0.6.0.13.rc4 as the unofficial version. 2011-05-05 20:47:35 -05:00
Darik Horn
90f916f95c Remove snapshot-mount.patch 2011-05-05 20:46:29 -05:00
Darik Horn
36f0c3f9a2 Merge branch 'upstream' 2011-05-05 20:45:47 -05:00
Darik Horn
86f0ddf4e2 Use git-dch to update the debian/changelog. 2011-05-05 19:52:24 -05:00
Darik Horn
de0c458a7e Add snapshot-mount.patch
The upstream zfs-0.6.0-rc4 tag was pushed back to include commit
3613204cd7, which fixes a regression
that prevents mounting snapshots.
2011-05-05 19:47:07 -05:00
Darik Horn
0c2a2961be Specify a distro section for each package.
Resolve this lintian warning:

W: libzfs-dev: wrong-section-according-to-package-name libzfs-dev => libdevel
N:
N:    This package has a name suggesting that it belongs to a section other
N:    than the one it is currently categorized in.
N:
N:    Severity: normal, Certainty: possible
N:
2011-05-05 19:38:17 -05:00
Darik Horn
f78a3bf830 Remove unused zfs-dkms.postrm script.
Resolve this lintian warning:

W: zfs-dkms: maintainer-script-empty postrm
N:
N:    The maintainer script doesn't seem to contain any code other than
N:    comments and boilerplate (set -e, exit statements, and the case
N:    statement to parse options). While this is harmless in most cases, it is
N:    probably not what you wanted, may mean the package will leave
N:    unnecessary files behind until purged, and may even lead to problems in
N:    rare situations where dpkg would fail if no maintainer script was
N:    present.
N:
N:    If the package currently doesn't need to do anything in this maintainer
N:    script, it shouldn't be included in the package.
N:
N:    Severity: minor, Certainty: certain
N:
2011-05-05 19:37:50 -05:00
Darik Horn
fbbac4d0b1 Add -e switch to the zfs-dkms.prerm whackbang.
Resolve this lintian warning:

W: zfs-dkms: maintainer-script-ignores-errors prerm
N:
N:    The maintainer script doesn't seem to set the -e flag which ensures that
N:    the script's execution is aborted when any executed command fails.
N:
N:    Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N:    Severity: normal, Certainty: certain
N:
2011-05-05 19:37:14 -05:00
Darik Horn
e07efbe122 Remove unused zfs-dkms.preinst script.
Resolve this lintian warning:

W: zfs-dkms: maintainer-script-empty preinst
N:
N:    The maintainer script doesn't seem to contain any code other than
N:    comments and boilerplate (set -e, exit statements, and the case
N:    statement to parse options). While this is harmless in most cases, it is
N:    probably not what you wanted, may mean the package will leave
N:    unnecessary files behind until purged, and may even lead to problems in
N:    rare situations where dpkg would fail if no maintainer script was
N:    present.
N:
N:    If the package currently doesn't need to do anything in this maintainer
N:    script, it shouldn't be included in the package.
N:
N:    Severity: minor, Certainty: certain
N:
2011-05-05 19:34:54 -05:00
Darik Horn
5679c22a50 Add whackbang to the ltmain.sh script.
Resolve this lintian warning:

W: zfs-dkms: executable-not-elf-or-script usr/src/zfs-0.6.0/config/ltmain.sh
N:
N:    This executable file is not an ELF format binary, and does not start
N:    with the #! sequence that marks interpreted scripts. It might be a sh
N:    script that fails to name /bin/sh as its shell, or it may be incorrectly
N:    marked as executable. Sometimes upstream files developed on Windows are
N:    marked unnecessarily as executable on other systems.
N:
N:    If you are using debhelper to build your package, running dh_fixperms
N:    will often correct this problem for you.
N:
N:    Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N:    Severity: normal, Certainty: certain
N:
2011-05-05 19:33:57 -05:00
Darik Horn
5d633c8186 Disable scripts distribution.
Lintian complains about the installation of the libexec scripts
to the DKMS source in /usr/src. Resolve the lintian warning by
disabling the scripts dist rule.

This change supercedes commit f500cf9868d77ee2535902afed363688a1e154c9.

W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/common.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpios-test/lustre.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/dm0-raid0.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/file-raid0.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/file-raid10.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/file-raidz.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/file-raidz2.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/hda-raid0.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/lo-faulty-raid0.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/lo-faulty-raid10.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/lo-faulty-raidz.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/lo-faulty-raidz2.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/lo-faulty-raidz3.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/lo-raid0.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/lo-raid10.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/lo-raidz.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/lo-raidz2.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/md0-raid10.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/md0-raid5.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/ram0-raid0.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/scsi_debug-noraid.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/scsi_debug-raid0.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/scsi_debug-raid10.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/scsi_debug-raidz.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/scsi_debug-raidz2.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/scsi_debug-raidz3.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/sda-raid0.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/zpool-raid0.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/zpool-raid10.sh
W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/scripts/zpool-config/zpool-raidz.sh
N:
N:    This file starts with the #! sequence that marks interpreted scripts,
N:    but it is not executable.
N:
N:    Severity: normal, Certainty: certain
N:
2011-05-05 19:33:11 -05:00
Darik Horn
4fb71286da Add -e switch to the zfs-dkms.postinst whackbang.
Resolve this lintian warning:

W: zfs-dkms: maintainer-script-ignores-errors postinst
N:
N:    The maintainer script doesn't seem to set the -e flag which ensures that
N:    the script's execution is aborted when any executed command fails.
N:
N:    Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N:    Severity: normal, Certainty: certain
N:
2011-05-05 19:32:50 -05:00
Darik Horn
8872a9c06c Flag autogen.sh as executable.
Resolve this lintian warning:

W: zfs-dkms: script-not-executable usr/src/zfs-0.6.0/autogen.sh
N:
N:    This file starts with the #! sequence that marks interpreted scripts,
N:    but it is not executable.
N:
N:    Severity: normal, Certainty: certain
N:
2011-05-05 19:31:53 -05:00
Darik Horn
4cdfcc4fd3 Add -e switch to the zfs-initramfs.preinst whackbang.
Resolve this lintian warning:

W: zfs-initramfs: maintainer-script-ignores-errors preinst
N:
N:    The maintainer script doesn't seem to set the -e flag which ensures that
N:    the script's execution is aborted when any executed command fails.
N:
N:    Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N:    Severity: normal, Certainty: certain
N:
2011-05-05 19:31:30 -05:00
Darik Horn
9d8c292f24 Package libexec scripts as examples.
Move the libexec scripts into the package examples to resolve these
lintian warnings:

W: zfsutils: non-standard-dir-in-usr usr/libexec/
N:
N:    The FHS says "No large software packages should use a direct
N:    subdirectory under the /usr hierarchy". This package contains a
N:    directory in /usr that is not mentioned in the Filesystem Hierarchy
N:    Standard.
N:
N:    Refer to Filesystem Hierarchy Standard (The /usr Hierarchy) for details.
N:
N:    Severity: normal, Certainty: certain
N:

W: zfsutils: file-in-unusual-dir usr/libexec/zfs/common.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zconfig.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zfault.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zfs.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-profile/zpios-profile-disk.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-profile/zpios-profile-pids.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-profile/zpios-profile-post.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-profile/zpios-profile-pre.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-profile/zpios-profile.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-sanity.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-survey.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/16th-8192rc-4rs-1cs-4off.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/1th-16rc-4rs-1cs-4off.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/1x256th-65536rc-4rs-1cs-4off.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/256th-65536rc-4rs-1cs-4off.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/4th-1024rc-4rs-1cs-4off.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/large-thread-survey.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/large.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/lustre.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/medium.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/small.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios-test/tiny.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpios.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/dm0-raid0.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/file-raid0.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/file-raid10.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/file-raidz.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/file-raidz2.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/hda-raid0.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/lo-faulty-raid0.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/lo-faulty-raid10.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/lo-faulty-raidz.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/lo-faulty-raidz2.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/lo-faulty-raidz3.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/lo-raid0.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/lo-raid10.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/lo-raidz.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/lo-raidz2.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/md0-raid10.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/md0-raid5.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/ram0-raid0.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/scsi_debug-noraid.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/scsi_debug-raid0.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/scsi_debug-raid10.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/scsi_debug-raidz.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/scsi_debug-raidz2.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/scsi_debug-raidz3.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/sda-raid0.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/zpool-raid0.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/zpool-raid10.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-config/zpool-raidz.sh
W: zfsutils: file-in-unusual-dir usr/libexec/zfs/zpool-create.sh
N:
N:    This file or symbolic link is in a directory where files are not
N:    normally installed by Debian packages.
N:
N:    Severity: normal, Certainty: certain
N:
2011-05-05 19:28:29 -05:00
Darik Horn
a6db575ecb Add docs file for each package.
Resolve this lintian warning:

W: zfsutils: extra-license-file usr/share/doc/zfsutils/COPYING
N:
N:    All license information should be collected in the debian/copyright
N:    file. This usually makes it unnecessary for the package to install this
N:    information in other places as well.
N:
N:    Refer to Debian Policy Manual section 12.5 (Copyright information) for
N:    details.
N:
N:    Severity: normal, Certainty: possible
N:
2011-05-05 19:26:32 -05:00
Darik Horn
40b4d71922 Add -e switch to the zfsutils.preinst whackbang.
Resolve this lintian warning:

W: zfsutils: maintainer-script-ignores-errors preinst
N:
N:    The maintainer script doesn't seem to set the -e flag which ensures that
N:    the script's execution is aborted when any executed command fails.
N:
N:    Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N:    Severity: normal, Certainty: certain
N:
2011-05-05 19:25:52 -05:00
Darik Horn
c6031e9160 Disable zpool-layout distribution.
Resolve this lintian warning by disabling the zpool-layout example:

W: zfsutils: executable-not-elf-or-script usr/libexec/zfs/zpool-layout/dragon.llnl.conf
W: zfsutils: executable-not-elf-or-script usr/libexec/zfs/zpool-layout/dragon.ddn.conf
N:
N:    This executable file is not an ELF format binary, and does not start
N:    with the #! sequence that marks interpreted scripts. It might be a sh
N:    script that fails to name /bin/sh as its shell, or it may be incorrectly
N:    marked as executable. Sometimes upstream files developed on Windows are
N:    marked unnecessarily as executable on other systems.
N:
N:    If you are using debhelper to build your package, running dh_fixperms
N:    will often correct this problem for you.
N:
N:    Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N:    Severity: normal, Certainty: certain
N:
2011-05-05 19:24:00 -05:00
Darik Horn
2c9a21ec26 Add extended package descriptions.
Resolve this lintian error:

E: zfsutils: extended-description-is-empty
N:
N:    The extended description (the lines after the first line of the
N:    "Description:" field) is empty.
N:
N:    Severity: serious, Certainty: certain
N:
2011-05-05 19:23:26 -05:00
Darik Horn
e47c6e0fc2 Add the debehelper token to zfsutils.preinst
Resolve this lintian warning:

W: zfs-linux source: maintainer-script-lacks-debhelper-token debian/zfsutils.preinst
N:
N:    This package is built using debhelper commands that may modify
N:    maintainer scripts, but the maintainer scripts do not contain the
N:    "#DEBHELPER#" token debhelper uses to modify them.
N:
N:    Adding the token to the scripts is recommended.
N:
N:    Severity: normal, Certainty: possible
N:
2011-05-05 19:23:04 -05:00
Darik Horn
5742dad26a Add the debhelper token to zfs-initramfs.preinst
Resolve this lintian warning:

W: zfs-linux source: maintainer-script-lacks-debhelper-token debian/zfs-initramfs.preinst
N:
N:    This package is built using debhelper commands that may modify
N:    maintainer scripts, but the maintainer scripts do not contain the
N:    "#DEBHELPER#" token debhelper uses to modify them.
N:
N:    Adding the token to the scripts is recommended.
N:
N:    Severity: normal, Certainty: possible
N:
2011-05-05 19:22:02 -05:00
Brian Behlendorf
3613204cd7 Allow mounting of read-only snapshots
With the addition of the mount helper we accidentally regressed
the ability to manually mount snapshots.  This commit updates
the mount helper to expect the possibility of a ZFS_TYPE_SNAPSHOT.
All snapshot will be automatically treated as 'legacy' type mounts
so they can be mounted manually.
2011-05-05 10:13:38 -07:00
Darik Horn
9293a497b5 Use git-dch to update the debian/changelog. 2011-05-05 10:19:17 -05:00
Darik Horn
06280d0fc6 Quilt refresh. 2011-05-05 10:18:25 -05:00
Darik Horn
b3115075c5 Use 0.6.0.12.rc4 as the unofficial version. 2011-05-05 10:17:42 -05:00
Darik Horn
9668287eea Merge commit 'upstream/0.6.0.12.rc4' 2011-05-05 10:15:24 -05:00
Brian Behlendorf
c409e4647f Add missing ZFS tunables
This commit adds module options for all existing zfs tunables.
Ideally the average user should never need to modify any of these
values.  However, in practice sometimes you do need to tweak these
values for one reason or another.  In those cases it's nice not to
have to resort to rebuilding from source.  All tunables are visable
to modinfo and the list is as follows:

$ modinfo module/zfs/zfs.ko
filename:       module/zfs/zfs.ko
license:        CDDL
author:         Sun Microsystems/Oracle, Lawrence Livermore National Laboratory
description:    ZFS
srcversion:     8EAB1D71DACE05B5AA61567
depends:        spl,znvpair,zcommon,zunicode,zavl
vermagic:       2.6.32-131.0.5.el6.x86_64 SMP mod_unload modversions
parm:           zvol_major:Major number for zvol device (uint)
parm:           zvol_threads:Number of threads for zvol device (uint)
parm:           zio_injection_enabled:Enable fault injection (int)
parm:           zio_bulk_flags:Additional flags to pass to bulk buffers (int)
parm:           zio_delay_max:Max zio millisec delay before posting event (int)
parm:           zio_requeue_io_start_cut_in_line:Prioritize requeued I/O (bool)
parm:           zil_replay_disable:Disable intent logging replay (int)
parm:           zfs_nocacheflush:Disable cache flushes (bool)
parm:           zfs_read_chunk_size:Bytes to read per chunk (long)
parm:           zfs_vdev_max_pending:Max pending per-vdev I/Os (int)
parm:           zfs_vdev_min_pending:Min pending per-vdev I/Os (int)
parm:           zfs_vdev_aggregation_limit:Max vdev I/O aggregation size (int)
parm:           zfs_vdev_time_shift:Deadline time shift for vdev I/O (int)
parm:           zfs_vdev_ramp_rate:Exponential I/O issue ramp-up rate (int)
parm:           zfs_vdev_read_gap_limit:Aggregate read I/O over gap (int)
parm:           zfs_vdev_write_gap_limit:Aggregate write I/O over gap (int)
parm:           zfs_vdev_scheduler:I/O scheduler (charp)
parm:           zfs_vdev_cache_max:Inflate reads small than max (int)
parm:           zfs_vdev_cache_size:Total size of the per-disk cache (int)
parm:           zfs_vdev_cache_bshift:Shift size to inflate reads too (int)
parm:           zfs_scrub_limit:Max scrub/resilver I/O per leaf vdev (int)
parm:           zfs_recover:Set to attempt to recover from fatal errors (int)
parm:           spa_config_path:SPA config file (/etc/zfs/zpool.cache) (charp)
parm:           zfs_zevent_len_max:Max event queue length (int)
parm:           zfs_zevent_cols:Max event column width (int)
parm:           zfs_zevent_console:Log events to the console (int)
parm:           zfs_top_maxinflight:Max I/Os per top-level (int)
parm:           zfs_resilver_delay:Number of ticks to delay resilver (int)
parm:           zfs_scrub_delay:Number of ticks to delay scrub (int)
parm:           zfs_scan_idle:Idle window in clock ticks (int)
parm:           zfs_scan_min_time_ms:Min millisecs to scrub per txg (int)
parm:           zfs_free_min_time_ms:Min millisecs to free per txg (int)
parm:           zfs_resilver_min_time_ms:Min millisecs to resilver per txg (int)
parm:           zfs_no_scrub_io:Set to disable scrub I/O (bool)
parm:           zfs_no_scrub_prefetch:Set to disable scrub prefetching (bool)
parm:           zfs_txg_timeout:Max seconds worth of delta per txg (int)
parm:           zfs_no_write_throttle:Disable write throttling (int)
parm:           zfs_write_limit_shift:log2(fraction of memory) per txg (int)
parm:           zfs_txg_synctime_ms:Target milliseconds between tgx sync (int)
parm:           zfs_write_limit_min:Min tgx write limit (ulong)
parm:           zfs_write_limit_max:Max tgx write limit (ulong)
parm:           zfs_write_limit_inflated:Inflated tgx write limit (ulong)
parm:           zfs_write_limit_override:Override tgx write limit (ulong)
parm:           zfs_prefetch_disable:Disable all ZFS prefetching (int)
parm:           zfetch_max_streams:Max number of streams per zfetch (uint)
parm:           zfetch_min_sec_reap:Min time before stream reclaim (uint)
parm:           zfetch_block_cap:Max number of blocks to fetch at a time (uint)
parm:           zfetch_array_rd_sz:Number of bytes in a array_read (ulong)
parm:           zfs_pd_blks_max:Max number of blocks to prefetch (int)
parm:           zfs_dedup_prefetch:Enable prefetching dedup-ed blks (int)
parm:           zfs_arc_min:Min arc size (ulong)
parm:           zfs_arc_max:Max arc size (ulong)
parm:           zfs_arc_meta_limit:Meta limit for arc size (ulong)
parm:           zfs_arc_reduce_dnlc_percent:Meta reclaim percentage (int)
parm:           zfs_arc_grow_retry:Seconds before growing arc size (int)
parm:           zfs_arc_shrink_shift:log2(fraction of arc to reclaim) (int)
parm:           zfs_arc_p_min_shift:arc_c shift to calc min/max arc_p (int)
2011-05-04 10:02:37 -07:00
Brian Behlendorf
8db77dd7ed Prep zfs-0.6.0-rc4 tag
Create the fourth 0.6.0 release candidate tag (rc4).
2011-05-03 10:29:05 -07:00