summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* The purpose of this change to the FFS layout policy is to reduce themckusick2013-03-2210-81/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | running time for a full fsck. It also reduces the random access time for large files and speeds the traversal time for directory tree walks. The key idea is to reserve a small area in each cylinder group immediately following the inode blocks for the use of metadata, specifically indirect blocks and directory contents. The new policy is to preferentially place metadata in the metadata area and everything else in the blocks that follow the metadata area. The size of this area can be set when creating a filesystem using newfs(8) or changed in an existing filesystem using tunefs(8). Both utilities use the `-k held-for-metadata-blocks' option to specify the amount of space to be held for metadata blocks in each cylinder group. By default, newfs(8) sets this area to half of minfree (typically 4% of the data area). This work was inspired by a paper presented at Usenix's FAST '13: www.usenix.org/conference/fast13/ffsck-fast-file-system-checker Details of this implementation appears in the April 2013 of ;login: www.usenix.org/publications/login/april-2013-volume-38-number-2. A copy of the April 2013 ;login: paper can also be downloaded from: www.mckusick.com/publications/faster_fsck.pdf. Reviewed by: kib Tested by: Peter Holm MFC after: 4 weeks
* Remove __FreeBSD_version ifdefs.glebius2013-03-223-12/+0
|
* rc.d/sysctl: Fix error messages about unknown OIDs.jilles2013-03-221-3/+3
| | | | | | | | | | | | | There are three situations where the sysctl script is called: 1. "start", very early 2. "lastload", near the end of rc 3. "reload", at admin request while the system is booted Ignore unknown OIDs in situation 1 because kernel modules may not be loaded yet and complain about them in situations 2 and 3. PR: conf/174595 Submitted by: Olivier Smedts
* Upgrade to OpenSSH 6.2p1. The most important new features are supportdes2013-03-2295-1243/+4990
|\ | | | | | | for a key revocation list and more fine-grained authentication control.
| * Vendor import of OpenSSH 6.2p1.des2013-03-22125-1624/+7092
| |
| * Vendor import of OpenSSH 6.1p1.des2012-08-2979-627/+1629
| |
| * Remove autoprops :(des2012-08-290-0/+0
| |
| * Vendor import of OpenSSH 6.0p1.des2012-08-2995-796/+2824
| |
| * Merge from upstream:delphij2012-06-252-6/+9
| | | | | | | | | | | | | | | | | | - djm@cvs.openbsd.org 2012/04/11 13:34:17 [ssh-keyscan.1 ssh-keyscan.c] now that sshd defaults to offering ECDSA keys, ssh-keyscan should also look for them by default; bz#1971 Approved by: des
* | Retire the mislabeled ENABLE_SUID_SSH knob.des2013-03-223-11/+1
| |
* | MFV r248590,248594:mm2013-03-22389-3932/+39264
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update libarchive to 3.1.2 Some of new features: - support for lrzip and grzip compression - support for writing tar v7 format - b64encode and uuencode filters - support for __MACOSX directory in Zip archives - support for lzop compresion (external utility)
| * | Update libarchive's vendor dist to version 3.1.2 from release branch.mm2013-03-21410-3134/+43402
| | | | | | | | | | | | | | | | | | | | | Git branch: release Git commit: 19f23e191f9d3e1dd2a518735046100419965804 Obtained from: https://github.com/libarchive/libarchive.git
* | | Replace deprecated (or remove obsolete) libarchive 2.8 functionsmm2013-03-225-14/+10
| | | | | | | | | | | | with libarchive 3.0 counterparts
* | | - Constify local path variable for chflagsat().pjd2013-03-222-2/+2
| | | | | | | | | | | | | | | | | | - Use correct format characters (%lx) for u_long. This fixes the build broken in r248599.
* | | Clean up some unused leftover code.kevlo2013-03-221-8/+0
| | | | | | | | | | | | Pointed out by: ae
* | | Remove unused global variables.kevlo2013-03-221-15/+0
| | | | | | | | | | | | Reviewed by: ae, glebius
* | | Update regression tests after adding chflagsat(2).pjd2013-03-213-7/+23
| | | | | | | | | | | | Sponsored by: The FreeBSD Foundation
* | | Fix for building libzpool under i386.smh2013-03-211-1/+1
| | | | | | | | | | | | | | | | | | Reviewed by: pjd (mentor) Approved by: pjd (mentor) MFC after: 2 weeks
* | | Document chflagsat(2).pjd2013-03-213-3/+54
| | | | | | | | | | | | Obtained from: jilles
* | | Regenerate after r248599.pjd2013-03-2111-12/+95
| | | | | | | | | | | | Sponsored by: The FreeBSD Foundation
* | | Implement chflagsat(2) system call, similar to fchmodat(2), but operates onpjd2013-03-219-15/+60
| | | | | | | | | | | | | | | | | | | | | file flags. Reviewed by: kib, jilles Sponsored by: The FreeBSD Foundation
* | | Regenerate after r248597.pjd2013-03-213-21/+21
| | | | | | | | | | | | Sponsored by: The FreeBSD Foundation
* | | - Make 'flags' argument to chflags(2), fchflags(2) and lchflags(2) of typepjd2013-03-2110-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | u_long. Before this change it was of type int for syscalls, but prototypes in sys/stat.h and documentation for chflags(2) and fchflags(2) (but not for lchflags(2)) stated that it was u_long. Now some related functions use u_long type for flags (strtofflags(3), fflagstostr(3)). - Make path argument of type 'const char *' for consistency. Discussed on: arch Sponsored by: The FreeBSD Foundation
* | | Correct the page count when excess length is trimmed from the bio.kib2013-03-211-0/+9
| | | | | | | | | | | | Reported and tested by: Ivan Klymenko <fidaj@ukr.net
* | | Allow O_CLOEXEC in posix_openpt() flags.jilles2013-03-212-4/+9
| | | | | | | | | | | | | | | PR: kern/162374 Reviewed by: ed
* | | Fix a bug in UMTX_PROFILING:attilio2013-03-211-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UMTX_PROFILING should really analyze the distribution of locks as they index entries in the umtxq_chains hash-table. However, the current implementation does add/dec the length counters for *every* thread insert/removal, measuring at all really userland contention and not the hash distribution. Fix this by correctly add/dec the length counters in the points where it is really needed. Please note that this bug brought us questioning in the past the quality of the umtx hash table distribution. To date with all the benchmarks I could try I was not able to reproduce any issue about the hash distribution on umtx. Sponsored by: EMC / Isilon storage division Reviewed by: jeff, davide MFC after: 2 weeks
* | | Document some flags to the uma_zcreate(). Not all flags are documented,glebius2013-03-211-0/+54
| | | | | | | | | | | | | | | only those that at least are used in the kernel, or that definitely work.
* | | Document uma_find_refcnt().glebius2013-03-211-1/+11
| | |
* | | Minimal timer period of 100us introduced in r244758 is overkill. Whilemav2013-03-211-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | original 2us are indeed not enough, 3us are working quite well on my tests. To be more safe set minimal period to 5us and to be even more safe replicate here from HPET mechanism of rereading counter after programming comparator. This change allows to handle 30K of short nanosleep() calls per second on Raspberry Pi instead of just 8K before. Discussed with: gonzo
* | | Another NFS SIGSTOP related fix: Ignore thread suspend requests due tojhb2013-03-211-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SIGSTOP if stop signals are currently deferred. This can occur if a process is stopped via SIGSTOP while a thread is running or runnable but before it has set TDF_SBDRY. Tested by: pho Reviewed by: kib MFC after: 1 week
* | | Fix twa(4) after the r246713. The driver copies data around tokib2013-03-212-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | satisfy some alignment restrictions. Do not set TW_OSLI_REQ_FLAGS_CCB flag for mapped data, pass the csio->data_ptr in the req->data. Do not put the ccb pointer into req->data ever, ccb is stored in req->orig_req already. Submitted by: Shuichi KITAGUCHI <ki@hh.iij4u.or.jp> PR: kern/177020
* | | Document NGM_NAT_LIBALIAS_INFO.glebius2013-03-211-1/+26
| | | | | | | | | | | | Submitted by: Dmitry Luhtionov <dmitryluhtionov gmail.com>
* | | Initialize the variable to avoid (false) compiler warning aboutkib2013-03-211-0/+1
| | | | | | | | | | | | | | | | | | | | | use of an uninitialized local. Reported by: Ivan Klymenko <fidaj@ukr.net> MFC after: 2 weeks
* | | Remove a reference to instant-server which has been removed from theeadler2013-03-211-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | ports tree in r313427. PR: 177012 Submitted by: Kevin Zheng <kevinz5000@gmail.com> Approved by: bcr (mentor)
* | | Add missing descriptions for ZFS sysctlssmh2013-03-211-2/+3
| | | | | | | | | | | | | | | | | | Reviewed by: pjd (mentor) Approved by: pjd (mentor) MFC after: 2 weeks
* | | Remove EOL whitespace.joel2013-03-211-1/+1
| | |
* | | Optimisation of TRIM processing.smh2013-03-211-34/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously TRIM processing was very bursty. This was made worse by the fact that TRIM requests on SSD's are typically much slower than reads or writes. This often resulted in stalls while large numbers of TRIM's where processed. In addition due to the way the TRIM thread was only woken by writes, deletes could stall in the queue for extensive periods of time. This patch adds a number of controls to how often the TRIM thread for each SPA processes its outstanding delete requests. vfs.zfs.trim.timeout: Delay TRIMs by up to this many seconds vfs.zfs.trim.txg_delay: Delay TRIMs by up to this many TXGs (reduced to 32) vfs.zfs.vdev.trim_max_bytes: Maximum pending TRIM bytes for a vdev vfs.zfs.vdev.trim_max_pending: Maximum pending TRIM segments for a vdev vfs.zfs.trim.max_interval: Maximum interval between TRIM queue processing (seconds) Given the most common TRIM implementation is ATA TRIM the current defaults are targeted at that. Reviewed by: pjd (mentor) Approved by: pjd (mentor) MFC after: 2 weeks
* | | Names the ZFS TRIM threadsmh2013-03-211-0/+5
| | | | | | | | | | | | | | | | | | Reviewed by: pjd (mentor) Approved by: pjd (mentor) MFC after: 2 weeks
* | | TRIM cache devices based on time instead of TXGs.smh2013-03-212-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the trim module uses the same algorithm for data and cache devices when deciding to issue TRIM requests, based on how far in the past the TXG is. Unfortunately, this is not ideal for cache devices, because the L2ARC doesn't use the concept of TXGs at all. In fact, when using a pool for reading only, the L2ARC is written but the TXG counter doesn't increase, and so no new TRIM requests are issued to the cache device. This patch fixes the issue by using time instead of the TXG number as the criteria for trimming on cache devices. The basic delay principle stays the same, but parameters are expressed in seconds instead of TXGs. The new parameters are named trim_l2arc_limit and trim_l2arc_batch, and both default to 30 second. Reviewed by: pjd (mentor) Approved by: pjd (mentor) Obtained from: https://github.com/dechamps/zfs/commit/17122c31ac7f82875e837019205c21651c05f8cd MFC after: 2 weeks
* | | Improve TXG handling in the TRIM module.smh2013-03-214-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds some improvements to the way the trim module considers TXGs: - Free ZIOs are registered with the TXG from the ZIO itself, not the current SPA syncing TXG (which may be out of date); - L2ARC are registered with a zero TXG number, as L2ARC has no concept of TXGs; - The TXG limit for issuing TRIMs is now computed from the last synced TXG, not the currently syncing TXG. Indeed, under extremely unlikely race conditions, there is a risk we could trim blocks which have been freed in a TXG that has not finished syncing, resulting in potential data corruption in case of a crash. Reviewed by: pjd (mentor) Approved by: pjd (mentor) Obtained from: https://github.com/dechamps/zfs/commit/5b46ad40d9081d75505d6f3bf04ac652445df366 MFC after: 2 weeks
* | | Don't register repair writes in the trim map.smh2013-03-211-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The trim map inflight writes tree assumes non-conflicting writes, i.e. that there will never be two simultaneous write I/Os to the same range on the same vdev. This seemed like a sane assumption; however, in actual testing, it appears that repair I/Os can very well conflict with "normal" writes. I'm not quite sure if these conflicting writes are supposed to happen or not, but in the mean time, let's ignore repair writes for now. This should be safe considering that, by definition, we never repair blocks that are freed. Reviewed by: pjd (mentor) Approved by: pjd (mentor) Obtained from: Source: https://github.com/dechamps/zfs/commit/6a3cebaf7c5fcc92007280b5d403c15d0e61dfe3
* | | Add TRIM support for L2ARC.smh2013-03-214-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds TRIM support to cache vdevs. When ARC buffers are removed from the L2ARC in arc_hdr_destroy(), arc_release() or l2arc_evict(), the size previously occupied by the buffer gets scheduled for TRIMming. As always, actual TRIMs are only issued to the L2ARC after txg_trim_limit. Reviewed by: pjd (mentor) Approved by: pjd (mentor) Obtained from: https://github.com/dechamps/zfs/commit/31aae373994fd112256607edba7de2359da3e9dc MFC after: 2 weeks
* | | Merge libzfs_core branch:mm2013-03-21105-6987/+9600
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | includes MFV 238590, 238592, 247580 MFV 238590, 238592: In the first zfs ioctl restructuring phase, the libzfs_core library was introduced. It is a new thin library that wraps around kernel ioctl's. The idea is to provide a forward-compatible way of dealing with new features. Arguments are passed in nvlists and not random zfs_cmd fields, new-style ioctls are logged to pool history using a new method of history logging. http://blog.delphix.com/matt/2012/01/17/the-future-of-libzfs/ MFV 247580 [1]: To address issues of several deadlocks and race conditions the locking code around dsl_dataset was rewritten and the interface to synctasks was changed. User-Visible Changes: "zfs snapshot" can create more arbitrary snapshots at once (atomically) "zfs destroy" destroys multiple snapshots at once "zfs recv" has improved performance Backward Compatibility: I have extended the compatibility layer to support full backward compatibility by remapping or rewriting the responsible ioctl arguments. Old utilities are fully supported by the new kernel module. Forward Compatibility: New utilities work with old kernels with the following restrictions: - creating, destroying, holding and releasing of multiple snapshots at once is not supported, this includes recursive (-r) commands Illumos ZFS issues: 2882 implement libzfs_core 2900 "zfs snapshot" should be able to create multiple, arbitrary snapshots at once 3464 zfs synctask code needs restructuring References: https://www.illumos.org/issues/2882 https://www.illumos.org/issues/2900 https://www.illumos.org/issues/3464 [1] MFC after: 1 month Sponsored by: Hybrid Logic Inc. [1]
| * | | Release hold on pool before calling zvol_create_minor()mm2013-03-201-1/+4
| | | |
| * | | Run zvol_create_minors() only if in non-error casemm2013-03-191-4/+6
| | | |
| * | | Run zvol_create_minors() on snapshot creationmm2013-03-191-0/+9
| | | |
| * | | MFV r247580:mm2013-03-1977-5813/+6435
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge synctask code restructuring from vendor. Modify forward and backward compatibility to support new change. Illumos ZFS issues: 3464 zfs synctask code needs restructuring Sponsored by: Hybrid Logic Ltd.
| | * | | Update vendor/illumos/dist and vendor-sys/illumos/distmm2013-03-0162-5476/+5695
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to illumos-gate 13973:4972ab336f54 Illumos ZFS issues: 3464 zfs synctask code needs restructuring
| | * | | Update vendor-sys/illumos/dist to illumos-gate 13971:d1648d817bd6mm2013-03-014-80/+169
| | | | | | | | | | | | | | | | | | | | | | | | | Illumos ZFS issues: 3581 spa_zio_taskq[ZIO_TYPE_FREE][ZIO_TASKQ_ISSUE]->tq_lock is piping hot
| | * | | Update vendor-sys/illumos/dist to illumos-gate 13970:c9a5683da38emm2013-03-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Illumos ZFS issues: 3543 Feature flags causes assertion in spa.c to miss certain cases
OpenPOWER on IntegriCloud