summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Document r277583, arc_meta_limit exposed via kstats.gjb2015-02-201-0/+8
| | | | Sponsored by: The FreeBSD Foundation
* Document r277434, fstyp(8) addition.gjb2015-02-201-0/+4
| | | | Sponsored by: The FreeBSD Foundation
* MFC r278658:rpaulo2015-02-201-3/+18
| | | | Teach libproc how to find debugging symbols in /usr/lib/debug.
* Document r278982, pmc callchain depths increased.gjb2015-02-201-0/+5
| | | | Sponsored by: The FreeBSD Foundation
* MFC r278594: Add missing asprintf() status checks.mav2015-02-201-2/+8
|
* MFC r278354: Teach ctld(8) to control non-iSCSI CTL ports.mav2015-02-206-72/+257
| | | | | | | | | | | | | | | This change introduces new target option "port", that assigns current target to specified CTL port. On config application ctld(8) will apply LUN mapping according to target configuration to specified port and bring the port up. On shutdown cltd(8) will remove the mapping and put the port down. This change allows to configure both iSCSI and FibreChannel targets in the same configuration file in alike way. Kernel side support was added earlier at r278037. Relnotes: yes Sponsored by: iXsystems, Inc.
* MFC r278311: Some NetGraph debug polishing.mav2015-02-201-7/+22
| | | | Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
* MFC r278889:kib2015-02-201-1/+1
| | | | Restore the extern qualifier on __cleanup.
* MFC r278856:hselasky2015-02-191-1/+1
| | | | | | | The "frag_info" pointer is already pointing to an array index. Don't index twice. Sponsored by: Mellanox Technologies
* MFC r278301, r278315:pfg2015-02-191-4/+5
| | | | | | | tdelete(3): don't delete the node we are about to return. CID: 272528 Obtained from: NetBSD (CVS rev. 1.4)
* MFC r278300, r278314:pfg2015-02-191-8/+15
| | | | | | | | | | | getdiskbyname(): plug resource leak Variable cq going out of scope leaks the storage it points to. CID: 270511 Phabric: D1775 Reviewed by: imp Obtained from: NetBSD (CVS rev. 1.34)
* MFC r278322: Add support for multiple portal groups per target.mav2015-02-197-111/+279
| | | | | | | | | | This change allows multiple "portal-group" options to be specified per target. Each of them may include new optional auth-group name parameter to override per-target auth parameters for specific portal group. Kernel side support was added earlier at r278161. Sponsored by: iXsystems, Inc.
* MFC r278672: Teach CTL to ask GEOM devices about BIO_DELETE support.mav2015-02-193-10/+26
|
* MFC r278625: Make XCOPY and WUT commands respect physical block size/offset.mav2015-02-194-24/+78
| | | | | This change by 2-3 times improves performance of misaligned XCOPY and WUT commands by avoiding unneeded read-modify-write cycles inside ZFS.
* MFC r278161: Bring some more order into iSCSI portal group tags support.mav2015-02-196-30/+47
| | | | | | | While ctld(8) still does not allow multiple portal groups per target to be configured, kernel should now be able to handle it. Sponsored by: iXsystems, Inc.
* MFC r278037: CTL LUN mapping rewrite.mav2015-02-1915-477/+644
| | | | | | | | | | | | | | | | | | | Replace iSCSI-specific LUN mapping mechanism with new one, working for any ports. By default all ports are created without LUN mapping, exposing all CTL LUNs as before. But, if needed, LUN mapping can be manually set on per-port basis via ctladm. For its iSCSI ports ctld does it via ioctl(2). The next step will be to teach ctld to work with FibreChannel ports also. Respecting additional flexibility of the new mechanism, ctl.conf now allows alternative syntax for LUN definition. LUNs can now be defined in global context, and then referenced from targets by unique name, as needed. It allows same LUN to be exposed several times via multiple targets. While there, increase limit for LUNs per target in ctld from 256 to 1024. Some initiators do not support LUNs above 255, but that is not our problem. Relnotes: yes Sponsored by: iXsystems, Inc.
* MFC r274853:mav2015-02-195-2/+24
| | | | | | | | | | For both iSCSI initiator and target increase socket buffer sizes before establishing connection. This is a workaround for Chelsio TOE driver, that does not update socket buffer size in hardware after connection established, and unless that is done beforehand, kernel code will stuck, attempting to send/receive full PDU at once.
* MFC r274804:mav2015-02-191-10/+10
| | | | | | | | | In conf_apply() remove iSCSI ports from kernel before removing LUNs. Previous order confused initiators with messages about "removed" LUNs during simple ctld restart without any real config change. After this commit initiators only reestablish lost connection, receive "Power on occurred" UNIT ATTENTION status and continue normal operation.
* MFC r278619: Make WRITE SAME commands respect physical block size.mav2015-02-191-2/+12
| | | | | This change by 2-3 times improves performance of misaligned WRITE SAME commands by avoiding unneeded read-modify-write cycles inside ZFS.
* MFC r278627:kib2015-02-191-31/+11
| | | | Update libthr(3) man page to reflect the work done to support dlopen.
* MFC r277458, r277536, r277606, r277609, r277836, r277839,gjb2015-02-1914-853/+707
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r278118, r278119, r278206, r278502: r277458: Move virtual machine / cloud provider targets and options from release/Makefile to their own Makefile. Add glue to allow enabling building cloud provider VM images by default. Add a 'vm-cloudware' target, used to drive all targets in CLOUDTARGETS. Add examples for WITH_CLOUDWARE to release.conf.sample. Add WITH_CLOUDWARE evaluation to RELEASE_RMAKEFLAGS. Rewrite to consolidate VM image build scripts into one. Fix duplicated mkimg(1) call in vm_create_disk(). Add primitive (untested) PowerPC/PowerPC64 VM image support. Note: As it is currently written, the /boot/pmbr and /boot/{gptboot,boot1.hfs} use the build host and not the target build. Fixing this is likely going to be a hack in itself. mount(8) and umount(8) devfs(5) as needed. Change path for mk-vmimage.sh from ${TARGET}/ to scripts/ now that it is consolidated into one file. Fix paths for the base image and output disk image files. Set the boot partition type to 'apple-boot' for powerpc. In vm_install_base(), copy the host resolv.conf into the build chroot before attempting to do anything that requires working DNS (i.e., pkg bootstrap). In vm_extra_pre_umount(), remove the resolv.conf before the disk image is unmounted from the backing md(4). Silence errors when umounting the chroot's /dev, since it probably doesn't exist when we're running this. Unmount filesystems before attempting to destroy the md which holds them. Unmount filesystem and destroy md before we read the vnode from disk and package it into a disk image. Otherwise we end up packaging an unclean filesystem. Merge duplicative vm-CLOUDTYPE targets before additional duplication gets added by the impending arrival of ec2 and gcloud. Add NOSWAP option which can be set by a vmimage.conf file to specify that no swap space should be created in the image. This will be used by EC2 builds, since FreeBSD/EC2 allocates swap space on "ephemeral" disks which are physically attached to the Xen host node. In vm_extra_install_packages(), only bootstrap pkg(8) if VM_EXTRA_PACKAGES is empty. In vm_extra_pre_umount(), cleanup downloaded packages if pkg(8) was bootstrapped earlier. In vm_extra_install_base(), do not install waagent in the openstack image, because it is not used. This appears to be a copy mistake. Remove vm_extra_install_base() from the openstack.conf entirely, since it does not need to be overridden. Enable password-less sudo for openstack images. Update the VM_EXTRA_PACKAGES list for the openstack images. Remove vm_extra_install_base() for the Azure image, now that the waagent exists in the ports tree. Add sysutils/azure-agent to the VM_EXTRA_PACKAGES list. In vm_extra_pre_umount(), remove the explicit pkg(8) install list, as dependencies are resolved by sysutils/azure-agent. Add a 'list-cloudware' target to print the list of supported CLOUDWARE values and a description. Add the AZURE_DESC and OPENSTACK_DESC descriptions. Update release(7) Add 'list-vmtargets' target, which produces a list of all supported VM and cloud provider images. Add VHD_DESC, VMDK_DESC, QCOW2_DESC, RAW_DESC image descriptions. Update release(7) to document the list-vmtargets target. Add initial support for the GCE (Google Compute Engine) cloud hosting provider image. Remove the console setting from rc.conf(5), which is not used there. While here, set console to include vidconsole in the loader.conf(5). Remove the pkg-clean(8) call from vm_extra_pre_umount() since the function is often overridden. Add vm_extra_pkg_rmcache() to call pkg-clean(8) to avoid duplicated code. Move resolv.conf(5) removal back to vm_extra_pre_umount() where it belongs. The GCE image needs resolv.conf(5) to exist (created as part of the image setup), so it cannot be removed. Comment the line that configures ttys(5) to 'off', which makes it impossible to test that the image boots. Add a note explaining why the line is commented, and not (yet) removed entirely. Move the 'install' bits that are specific to virtual machine images from the Makefile to Makefile.vm. Rename the 'install' target to 'release-install', and add a new 'vm-install' target. Add a new 'install' target that invokes the new targets. Add WITH_CLOUDWARE to the list of make(1) variables for the release build. Remove hw.vga.textmode=1 from the VM image loader.conf, which was included during test builds and not intended to be included when merging this project branch back to head. Remove mk-azure.sh, which is no longer needed. r277536: Rename the 'release' target to 'real-release', and add two targets, 'vm-release' and 'cloudware-release', that are invoked if WITH_VMIMAGES and WITH_CLOUDWARE are not empty. This fixes an issue where 'make release' would not build the cloud provider targets because CLOUDWARE was not yet set. Move the WITH_VMIMAGES and WITH_CLOUDWARE targets to Makefile.vm. Note: There is no 'cloudware-install' target yet, since some of the disk image names may need to be specific to the provider, so this is probably best handled by the build scripts. r277606: Provide a recipe of "true" for building the "release" target once its prerequisites are satisfied, in order to avoid having an implicit rule triggered by the presence of release.sh. r277609: When iterating through VMFORMATS, the VMBASE file is not removed or truncated to a zero-size file, which if used to create more than one disk image format, can result in accidental pollution of the target formatted disk image. Instead of using a single VMBASE image (vm.img, by default), use a single base file for each format, named as VMFORMAT.img, which produces VMBASE.VMFORMAT as the final formatted image. r277836: Rename the 'system' target to 'disc1', which is specific to the disc1.iso installer image. Replace 'system' with 'release' in CLEANFILES, and add 'disc1' to CLEANDIRS. Ensure the 'dvd' target depends on 'packagesystem'. Fix 'mini-memstick.img' prerequisite, which should be the 'bootonly' target, not 'disc1' (previously 'system'). Use .TARGET as the target installation directory for the disc1.iso and bootonly.iso images, which now expand to 'disc1' and 'bootonly' respectively, mimicking the behavior of the 'dvd' target. Remove '@true' from the 'release' target, and instead use 'touch ${.TARGET}' to prevent multiple iterations of 'make release' from clobbering previously-built installer medium. r277839: Update release(7) to reflect renaming the 'system' target to 'disc1'. r278118: Move service_enable="YES" rc.conf(5) additions to VM_RC_LIST and deduplicate. Evaluate if firstboot_freebsd_update should be enabled based on UNAME_r, because it is not supported for the -CURRENT or -STABLE branches. r278119: Use ifconfig_DEFAULT="" instead of hard-coding vtnet(4) r278206: Bump copyright after r277458. r278502: In scripts/mk-vmimage.sh, prevent incorrect usage() by defaulting VMCONFIG to /dev/null, and additionally ensuring VMCONFIG is not a character device before it is sourced. While here, be sure to exit if usage() is called. This should effectively be no-op, but the usage() output was discovered while investigating a larger issue. * Several changes local to stable/10 were needed in order to handle UEFI images that are specific to this branch. Tested with: stable/10@r278906 Sponsored by: The FreeBSD Foundation
* MFC r275140: Increase default and maximum callchain depthsemaste2015-02-191-2/+2
| | | | | | | Bump the default from 16 to 32, to accommodate kernel flamegraphs. Bump the maximum from 32 to 128, to accommodate deep user stacks. Sponsored by: The FreeBSD Foundation
* MFC 278228:ken2015-02-185-1/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The __FreeBSD_version has been changed to 1001508 for the addition of the CDAI_TYPE_EXT_INQ request type. ------------------------------------------------------------------------ r278228 | ken | 2015-02-04 17:12:21 -0700 (Wed, 04 Feb 2015) | 32 lines Add support for probing the SCSI VPD Extended Inquiry page (0x86). This VPD page is effectively an extension of the standard Inquiry data page, and includes lots of additional bits. This commit includes support for probing the page in the SCSI probe code, and an additional request type for the XPT_DEV_ADVINFO CCB. CTL already supports the Extended Inquiry page. Support for querying this page in the sa(4) driver will come later. sys/cam/scsi/scsi_xpt.c: Probe the Extended Inquiry page, if the device supports it, and return it in response to a XPT_DEV_ADVINFO CCB if it is requested. sys/cam/scsi/cam_ccb.h: Define a new advanced information CCB data type, CDAI_TYPE_EXT_INQ. sys/cam/cam_xpt.c: Free the extended inquiry data in a device when the device goes away. sys/cam/cam_xpt_internal.h: Add an extended inquiry data pointer and length to struct cam_ed. sys/sys/param.h Bump __FreeBSD_version for the addition of the new CDAI_TYPE_EXT_INQ advanced information type. Sponsored by: Spectra Logic MFC after: 1 week ------------------------------------------------------------------------ Sponsored by: Spectra Logic
* MFC r276893: mkimg: Add MBR EFI partition typeemaste2015-02-181-0/+4
| | | | Sponsored by: The FreeBSD Foundation
* MFC r278827sbruno2015-02-181-1/+3
| | | | Check for required arguments before accessing argv[0] and core dumping.
* MFC r278795:kib2015-02-181-3/+5
| | | | | | Reparenting done by debugger attach can leave reaper without direct children. Handle the situation instead asserting that it is impossible.
* MFC r278794:kib2015-02-181-1/+1
| | | | Return with the process locked.
* MFC r278606:kib2015-02-182-4/+67
| | | | Registers definitions for the new capabilities.
* MFC r278605:kib2015-02-181-4/+2
| | | | vm_page_lookup() accepts read-locked object.
* MFC r278739:delphij2015-02-171-0/+17
| | | | | | | | Disallow pattern spaces which would cause intermediate calculations to overflow size_t. Obtained from: DragonFly (2841837793bd095a82f477e9c370cfe6cfb3862c dillon) Security: CERT VU#695940
* MFC r278500: Do not abort already aborted tasks.mav2015-02-171-51/+44
| | | | | This fixes abort of new tasks with the same tags as previously aborted, but still remaining on the queue.
* MFC r278751:kib2015-02-176-30/+34
| | | | Properly interpose libc spinlocks, was missed in r276630.
* MFC r278321scottl2015-02-165-58/+122
| | | | | | | | | | | | | | Use direct hardware access for internal requests for KCS and SMIC. In particular, updates to the watchdog should no longer sleep. - Add a new IPMI_IO_LOCK for low-level I/O access. Use this for kcs_polled_request() and smic_polled_request(). - Add a new backend callback "ipmi_driver_request" to handle a driver request. The new callback performs the request sychronously for KCS and SMIC. SSIF still defers the work to the worker thread since the worker thread sleeps during request processing anyway. - Allocate driver requests on the stack rather than using malloc(). Submitted by: jhb
* MFC r278379:dchagin2015-02-162-0/+2
| | | | Add Neoway WM620 module ID.
* Clamp too large hwpmc callchaindepth to maximumemaste2015-02-151-2/+3
| | | | | | | | If the depth requested by the user is too large, it's better to provide the maximum than the smaller default. MFC of: r274766 Sponsored by: The FreeBSD Foundation
* MFC: r266990 (missed in r265946)marius2015-02-151-0/+1
| | | | Fix build UDP-Lite with VIMAGE enabled when building with gcc.
* MFC: r278532marius2015-02-152-16/+14
| | | | Fix compilation with GCC in the PAE case.
* MFC of r278472rrs2015-02-154-8/+43
| | | | | | | | | | | | | | | | | | | | This fixes a bug in the way that the LLE timers for nd6 and arp were being used. They basically would pass in the mutex to the callout_init. Because they used this method to the callout system, it was possible to "stop" the callout. When flushing the table and you stopped the running callout, the callout_stop code would return 1 indicating that it was going to stop the callout (that was about to run on the callout_wheel blocked by the function calling the stop). Now when 1 was returned, it would lower the reference count one extra time for the stopped timer, then a few lines later delete the memory. Of course the callout_wheel was stuck in the lock code and would then crash since it was accessing freed memory. By using callout_init(c, 1) we always get a 0 back and the reference counting bug does not rear its head. We do have to make a few adjustments to the callouts themselves though to make sure it does the proper thing if rescheduled as well as gets the lock. Sponsored by: Netflix Inc.
* MFC of r278469, r278623rrs2015-02-152-86/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 278469: This fixes two conditions that can incur when migration is being done in the callout code and harmonizes the macro use.: 1) The callout_active() will lie. Basically if a migration is occuring and the callout is about to expire and the migration has been deferred, the callout_active will no longer return true until after the migration. This confuses and breaks callers that are doing callout_init(&c, 1); such as TCP. 2) The migration code had a bug in it where when migrating, if a two calls to callout_reset came in and they both collided with the callout on the wheel about to run, then the second call to callout_reset would corrupt the list the callout wheel uses putting the callout thread into a endless loop. 3) Per imp, I have fixed all the macro occurance in the code that were for the most part being ignored. 278623: This fixes a bug I in-advertantly inserted when I updated the callout code in my last commit. The cc_exec_next is used to track the next when a direct call is being made from callout. It is *never* used in the in-direct method. When macro-izing I made it so that it would separate out direct/vs/non-direct. This is incorrect and can cause panics as Peter Holm has found for me (Thanks so much Peter for all your help in this). What this change does is restore that behavior but also get rid of the cc_next from the array and instead make it be part of the base callout structure. This way no one else will get confused since we will never use it for non-direct. Sponsored by: Netflix Inc.
* MFC r277917 (by ken), r278598:mav2015-02-152-5/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve SCSI Extended Inquiry VPD page (0x86) support. sys/cam/scsi/scsi_all.h: In struct scsi_extended_inquiry_data: - Increase the length field to 2 bytes, as it is 2 bytes in SPC-4. - Add bit definitions for the various Activiate Microcode actions. - Add the Sequential Access Logical Block Protection support bit, since we need that in the sa(4) driver. (For modifications that will come later.) - Add definitions for the various Multi I_T Nexus Microcode Download modes. sys/cam/ctl/ctl.c: As of SPC-4, a single report of "REPORTED LUNS DATA HAS CHANGED" is to be given per I_T nexus. Once it is reported, the unit attention condition should be cleared for all LUNS attached to an I_T nexus. Previously that only happened when a REPORT LUNS command was processed. This behavior may be different (according to SAM-5) when the UA_INTLCK_CTRL bits are non-zero in the control mode page but CTL does not currently support that. So, in view of the spec, whenever we report a LUN inventory change unit attention, clear it on all LUNs for that particular I_T nexus. Add a new function, ctl_clear_ua() that will clear a unit attention on all LUNs for the given I_T nexus. One field in the extended inquiry data that we could potentially report at some point is the maximum supported sense data length. To do that, we would the SIM to report (via path inquiry perhaps) how much sense data it is able to send. Add comments to explain some of the bits that are set in the Extended Inquiry VPD page. Add a few comments to make it more clear which functions handle various VPD pages.
* MFC r278621: Fix man page to match real option names.mav2015-02-151-4/+4
|
* Add clang patches corresponding to r278788.dim2015-02-141-0/+67
|
* Pull in r201130 from upstream clang trunk (by Ted Kremenek):dim2015-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | Fix PCH deserialization bug with local static symbols being treated as local extern. This triggered a miscompilation of code using Boost's function_template.hpp when it was included inside a PCH file. A local static within that header would be treated as local extern, resulting in the wrong mangling. This only occurred during PCH deserialization. Fixes <rdar://problem/15975816> and <rdar://problem/15926311>. This fixes a crash in audio/murmur, which is using both PCH and Boost. Direct commit to stable/10 and stable/9, since head has clang 3.5.1, which already includes this change. Reported by: smh PR: 197389
* MFC r274670, r274671, r276168:loos2015-02-1417-145/+41
| | | | | | | | | | | | | | Moves all the duplicate code to a single function. Verify for invalid modes and unwanted flags before pass the new flags to driver. Make gpio_default_map_gpios() static. No functional changes. Improves the GPIO API description a little bit. gpio_pin_max must return the maximum supported pin number and not the total number of pins on the system.
* MFC r274642, 274643:loos2015-02-143-32/+30
| | | | | | | | | | | | Remove unnecessary code. After r273566, the gpiobus version of bus_print_child() also works on FDT systems. Fix gpiobus_child_location_str() to return a real string with the mapped pins. Make gpiobus_print_pins() static again.
* MFC r274638:loos2015-02-143-2/+128
| | | | | | | | | | | | Add basic interrupt management code to gpiobus and ofw_gpiobus. This is the general support to allow the use of GPIO pins as interrupt sources for direct gpiobus children. The use of GPIO pins as generic interrupt sources (for an ethernet driver for example) will only be possible when arm/intrng is complete. Then, most of this code will need to be rewritten, but it works for now, is better than what we have and will allow further developments.
* MFC r273917, r273926:loos2015-02-145-66/+47
| | | | | | | | | | | | | | | | | | | | | | Fix the gpiobus locking by using a more sane model where it isn't necessary hold the gpiobus lock between the gpio calls. gpiobus_acquire_lock() now accepts a third parameter which tells gpiobus what to do when the bus is already busy. When GPIOBUS_WAIT wait is used, the calling thread will be put to sleep until the bus became free. With GPIOBUS_DONTWAIT the calling thread will receive EWOULDBLOCK right away and then it can act upon. This fixes the gpioiic(4) locking issues that arises when doing multiple concurrent access on the bus. Fix the build of non-FDT systems by moving the gpiobusvar.h header outside the FDT #ifdef. While here remove a few unused headers.
* MFC r273799:loos2015-02-1415-31/+35
| | | | | | | | Make the GPIO children attach to the first unit available and not only to unit 0. This fix a bug where a GPIO controller could fail to attach its children (gpioc and gpiobus) if another GPIO driver attach first.
* MFC r273566, r273569:loos2015-02-143-48/+43
| | | | | | | | Provide a working GPIOBUS_IVAR() macro for FDT systems. Move the duplicated code to a single function. No functional changes.
* sync the code with the version in head. which the exception ofluigi2015-02-148-47/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn 275358 (M_FLOWID deprecation, only a couple of lines) which cannot be merged. if_lem_netmap.h, if_re_netmap.h: - use the same (commented out) function to update the stat counters as in HEAD. This is a no-op here netmap.c - merge 274459 (support for private knote lock) and minor changes on nm_config and comments netmap_freebsd.c - merge 274459 (support for private knote lock) - merge 274354 (initialize color if passed as argument) netmap_generic.c - fix a comment netmap_kern.h - revise the lock macros, using sx locks; merge 274459 (private knote lock) netmap_monitor.c - use full memory barriers netmap_pipe.c - use full memory barriers, use length from the correct queue (mostly cosmetic, since the queues typically have the same size)
OpenPOWER on IntegriCloud