summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* compat: Use COMPAT_USE_64BIT_TIME in net/compat.cH. J. Lu2012-02-201-25/+40
| | | | | | | Handle 64-bit time structures in the networking core compat code. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: David S. Miller <davem@davemloft.net>
* compat: Use COMPAT_USE_64BIT_TIME in the Bluetooth subsystemH. J. Lu2012-02-201-1/+2
| | | | | | | | | | Enable the Bluetooth subsystem to be used with a compat ABI with 64-bit time. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: Marcel Holtmann <marcel@holtmann.org> Cc: Gustavo F. Padovan <padovan@profusion.mobi> Cc: David S. Miller <davem@davemloft.net>
* compat: Use COMPAT_USE_64BIT_TIME in the input subsystemH. J. Lu2012-02-202-3/+3
| | | | | | | Enable the input system to be used with a compat ABI with 64-bit time. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* compat: Handle COMPAT_USE_64BIT_TIME in the lp driverH. Peter Anvin2012-02-201-4/+1
| | | | | | | | Enable the lp driver to be used with a compat ABI with 64-bit time. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg Kroah-Hartman <greg@kroah.com>
* compat: Add helper functions to read/write struct timeval, timespecH. Peter Anvin2012-02-202-8/+76
| | | | | | | | | | | | | | | | | | Add helper functions to read and write struct timeval and struct timespec from userspace. We already had helper functions for reading and writing struct compat_timespec; add a set of functions to do the same with struct timeval, and add a second suite of functions which can be sensitive to COMPAT_USE_64BIT_TIME and access either 32- or 64-bit time structures. This also exports these helper functions to modules. Rename the existing inlines for converting between struct compat_timeval and native struct timespec so we can have a saner naming convention for the exported functions. Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* compat: Introduce COMPAT_USE_64BIT_TIMEH. J. Lu2012-02-201-0/+4
| | | | | | | | | Allow a compatibility ABI to use a 64-bit time_t and 64-bit members in struct timeval and struct timespec to avoid the Y2038 problem. This will be used for the x32 ABI. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysinfo: Use explicit types in <linux/sysinfo.h>H. Peter Anvin2012-02-201-14/+16
| | | | | | | | | Change <linux/sysinfo.h> to use explicitly sized types. Replace long/unsigned long with __kernel_[u]long_t so that a non-legacy 32-bit ABI running on a 64-bit kernel can export those as 64-bit types. Originally-by: H. J. Lu <hjl.tools@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* x32: Create posix_types_x32.hH. Peter Anvin2012-02-203-1/+23
| | | | | | | | This is the same as the 64-bit posix_types.h, except that __kernel_[u]long_t is defined to be [unsigned] long long and therefore 64 bits. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* posix_types: Introduce __kernel_[u]long_tH. Peter Anvin2012-02-201-9/+14
| | | | | | | | | | Introduce __kernel_[u]long_t, which allows an ABI to override all defaults of type [unsigned] long. This enables x32 and potentially other 32-bit userspace on 64-bit kernel ABIs. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysinfo: Move struct sysinfo to a separate header fileH. Peter Anvin2012-02-203-19/+25
| | | | | | | | | | struct sysinfo is just about the only thing exported to userspace from <linux/kernel.h>, so move it into a separate header file with a residual #include in <linux/kernel.h>. Originally-by: H. J. Lu <hjl.tools@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/n/tip-4pr1xnnksprt7t0h3w5fw4rv@git.kernel.org
* x86-64: Use explicit sizes in sigcontext.h, prepare for x32H. Peter Anvin2012-02-201-27/+30
| | | | | | | | | | Use explicit sizes (__u64) instead of implicit sizes (unsigned long) in the definition for sigcontext.h; this will allow this structure to be shared between the x86-64 native ABI and the x32 ABI. Originally-by: H. J. Lu <hjl.tools@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/n/tip-4pr1xnnksprt7t0h3w5fw4rv@git.kernel.org
* x86: Factor out TIF_IA32 from 32-bit address spaceH. Peter Anvin2012-02-206-9/+13
| | | | | | | | | | Factor out IA32 (compatibility instruction set) from 32-bit address space in the thread_info flags; this is a precondition patch for x32 support. Originally-by: H. J. Lu <hjl.tools@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/n/tip-4pr1xnnksprt7t0h3w5fw4rv@git.kernel.org
* Delete the __FD_*() funcs for operating on fd_set from linux/time.hDavid Howells2012-02-191-23/+0
| | | | | | | | | | | | | | | | | | Delete the __FD_*() functions for operating on fd_set structs from linux/time.h as they're no longer used within the kernel with the preceding patch and are not exported to userspace. Whilst linux/time.h *does* export the FD_*() equivalents as wrappers around __FD_*(), userspace provides its own definition of __FD_*(). Note that the definition of FD_ZERO() in linux/time.h may not be used with the fd_sets associated with struct fdtable as the fd_set may have been allocated in a truncated fashion. Signed-off-by: David Howells <dhowells@redhat.com> Link: http://lkml.kernel.org/r/20120216175006.23314.18984.stgit@warthog.procyon.org.uk Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: Al Viro <viro@zeniv.linux.org.uk>
* Replace the fd_sets in struct fdtable with an array of unsigned longsDavid Howells2012-02-196-47/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the fd_sets in struct fdtable with an array of unsigned longs and then use the standard non-atomic bit operations rather than the FD_* macros. This: (1) Removes the abuses of struct fd_set: (a) Since we don't want to allocate a full fd_set the vast majority of the time, we actually, in effect, just allocate a just-big-enough array of unsigned longs and cast it to an fd_set type - so why bother with the fd_set at all? (b) Some places outside of the core fdtable handling code (such as SELinux) want to look inside the array of unsigned longs hidden inside the fd_set struct for more efficient iteration over the entire set. (2) Eliminates the use of FD_*() macros in the kernel completely. (3) Permits the __FD_*() macros to be deleted entirely where not exposed to userspace. Signed-off-by: David Howells <dhowells@redhat.com> Link: http://lkml.kernel.org/r/20120216174954.23314.48147.stgit@warthog.procyon.org.uk Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: Al Viro <viro@zeniv.linux.org.uk>
* Wrap accesses to the fd_sets in struct fdtableDavid Howells2012-02-1910-27/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrap accesses to the fd_sets in struct fdtable (for recording open files and close-on-exec flags) so that we can move away from using fd_sets since we abuse the fd_set structs by not allocating the full-sized structure under normal circumstances and by non-core code looking at the internals of the fd_sets. The first abuse means that use of FD_ZERO() on these fd_sets is not permitted, since that cannot be told about their abnormal lengths. This introduces six wrapper functions for setting, clearing and testing close-on-exec flags and fd-is-open flags: void __set_close_on_exec(int fd, struct fdtable *fdt); void __clear_close_on_exec(int fd, struct fdtable *fdt); bool close_on_exec(int fd, const struct fdtable *fdt); void __set_open_fd(int fd, struct fdtable *fdt); void __clear_open_fd(int fd, struct fdtable *fdt); bool fd_is_open(int fd, const struct fdtable *fdt); Note that I've prepended '__' to the names of the set/clear functions because they require the caller to hold a lock to use them. Note also that I haven't added wrappers for looking behind the scenes at the the array. Possibly that should exist too. Signed-off-by: David Howells <dhowells@redhat.com> Link: http://lkml.kernel.org/r/20120216174942.23314.1364.stgit@warthog.procyon.org.uk Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: Al Viro <viro@zeniv.linux.org.uk>
* posix_types: Remove fd_set macrosH. Peter Anvin2012-02-142-72/+24
| | | | | | | | | | | | | | | | | | | | | | | <asm/posix_types.h> includes a set of macros that operate on file descriptors. Way long ago those were exported to user space, but nowadays they are #ifdef __KERNEL__. However, they are nothing but standard (nonatomic) bit operations, and we already have optimized versions of bit operations in the kernel. We can't include <linux/bitops.h> in <asm/posix_types.h> but we can move the definitions to <linux/time.h> and define them there in terms of standard kernel bitops. [ v2: folds the following fixes in: a) Stray space in __FD_SET(), reported by Andrew Morton b) #include <linux/string.h> needed for memset(), reported by Tony Luck ] Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-22-git-send-email-hpa@zytor.com Cc: Arnd Bergmann <arnd@arndb.de> Cc: Tony Luck <tony.luck@intel.com> Cc: Andrew Morton <akpm@linux-foundation.org>
* xtensa: Use generic posix_types.hH. Peter Anvin2012-02-141-90/+7
| | | | | | | | Change the xtensa architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-21-git-send-email-hpa@zytor.com Cc: Chris Zankel <chris@zankel.net>
* x86: Use generic posix_types.hH. Peter Anvin2012-02-142-169/+12
| | | | | | | | | Change the x86 architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-20-git-send-email-hpa@zytor.com Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de>
* sparc: Use generic posix_types.hH. Peter Anvin2012-02-141-116/+17
| | | | | | | | Change the sparc architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Acked-by: "David S. Miller" <davem@davemloft.net> Link: http://lkml.kernel.org/r/1328677745-20121-19-git-send-email-hpa@zytor.com
* sh: Remove unnecessary posix_types.h type overridesH. Peter Anvin2012-02-142-9/+0
| | | | | | | | | Remove type overrides in <asm/posix_types.h> for the sh architecture that are no longer necessary. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-18-git-send-email-hpa@zytor.com Cc: Paul Mundt <lethal@linux-sh.org>
* s390: Use generic posix_types.hH. Peter Anvin2012-02-141-60/+10
| | | | | | | | | | Change the s390 architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Link: http://lkml.kernel.org/r/1328677745-20121-17-git-send-email-hpa@zytor.com Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: <linux390@de.ibm.com>
* powerpc: Use generic posix_types.hH. Peter Anvin2012-02-141-109/+9
| | | | | | | | | | | Change the powerpc architecture to use <asm-generic/posix_types.h>. [ v2: fix the definition for __kernel_ssize_t ] Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-16-git-send-email-hpa@zytor.com Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org>
* parisc: Use generic posix_types.hH. Peter Anvin2012-02-141-110/+9
| | | | | | | | | | Change the parisc architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-15-git-send-email-hpa@zytor.com Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Helge Deller <deller@gmx.de> Cc: James Bottomley <jejb@parisc-linux.org>
* mn10300: Use generic posix_types.hH. Peter Anvin2012-02-141-100/+11
| | | | | | | | | Change the mn10300 architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-14-git-send-email-hpa@zytor.com Cc: David Howells <dhowells@redhat.com> Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
* mips: Use generic posix_types.hH. Peter Anvin2012-02-141-114/+7
| | | | | | | | | | Change the mips architecture to use <asm-generic/posix_types.h>. [ v2: remove redundant definition of __kernel_loff_t ] Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-13-git-send-email-hpa@zytor.com Cc: Ralf Baechle <ralf@linux-mips.org>
* m68k: Use generic posix_types.hH. Peter Anvin2012-02-141-43/+10
| | | | | | | | Change the m68k architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-12-git-send-email-hpa@zytor.com Cc: Geert Uytterhoeven <geert@linux-m68k.org>
* m32r: Use generic posix_types.hH. Peter Anvin2012-02-141-99/+9
| | | | | | | | Change the m32r architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-11-git-send-email-hpa@zytor.com Cc: Hirokazu Takata <takata@linux-m32r.org>
* ia64: Use generic posix_types.hH. Peter Anvin2012-02-141-118/+3
| | | | | | | | | Change the ia64 architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-10-git-send-email-hpa@zytor.com Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com>
* h8300: Use generic posix_types.hH. Peter Anvin2012-02-141-40/+9
| | | | | | | | Change the h8300 architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-9-git-send-email-hpa@zytor.com Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
* frv: Use generic posix_types.hH. Peter Anvin2012-02-141-43/+10
| | | | | | | | Change the frv architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-8-git-send-email-hpa@zytor.com Cc: David Howells <dhowells@redhat.com>
* cris: Use generic posix_types.hH. Peter Anvin2012-02-141-40/+10
| | | | | | | | | Change the cris architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Acked-by: Jesper Nilsson <jesper.nilsson@axis.com> Cc: Mikael Starvik <starvik@axis.com> Link: http://lkml.kernel.org/r/1328677745-20121-7-git-send-email-hpa@zytor.com
* avr32: Use generic posix_types.hH. Peter Anvin2012-02-141-96/+11
| | | | | | | | | Change the avr32 architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-6-git-send-email-hpa@zytor.com Cc: Haavard Skinnemoen <hskinnemoen@gmail.com> Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
* arm: Use generic posix_types.hH. Peter Anvin2012-02-141-46/+9
| | | | | | | | Change the arm architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Link: http://lkml.kernel.org/r/1328677745-20121-5-git-send-email-hpa@zytor.com
* alpha: Use generic posix_types.hH. Peter Anvin2012-02-141-108/+5
| | | | | | | | | | Change the alpha architecture to use <asm-generic/posix_types.h>. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-4-git-send-email-hpa@zytor.com Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Matt Turner <mattst88@gmail.com>
* posix_types: Make it possible to override __kernel_fsid_tH. Peter Anvin2012-02-141-4/+6
| | | | | | | | | __kernel_fsid_t has members of type "long" on at least one architecture (MIPS32), so make it possible to override the definition. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-3-git-send-email-hpa@zytor.com Cc: Arnd Bergmann <arnd@arndb.de>
* posix_types: Make __kernel_[ug]id32_t default to unsigned intH. Peter Anvin2012-02-141-2/+2
| | | | | | | | | | All ports use unsigned int for __kernel_[ug]id32_t, but not all ports use unsigned int for __kernel_[ug]id_t. Thus, change the default for the "32" types so ports don't need to override them. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Link: http://lkml.kernel.org/r/1328677745-20121-2-git-send-email-hpa@zytor.com Cc: Arnd Bergmann <arnd@arndb.de>
* Linux 3.3-rc3v3.3-rc3Linus Torvalds2012-02-081-1/+1
|
* Merge branch 'iommu/fixes' of ↵Linus Torvalds2012-02-082-6/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu One patch fixes an bug in the ARM/MSM IOMMU code which returned sucess in the unmap function even when an error occured and the other patch adds a workaround into the AMD IOMMU driver to better handle broken IVRS ACPI tables (this patch fixes the case when a device is not listed in the table but actually translated by the iommu). * 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/msm: Fix error handling in msm_iommu_unmap() iommu/amd: Work around broken IVRS tables
| * iommu/msm: Fix error handling in msm_iommu_unmap()Joerg Roedel2012-01-301-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Error handling in msm_iommu_unmap() is broken. On some error conditions retval is set to a non-zero value which causes the function to return 'len' at the end. This hides the error from the user. Zero should be returned in those error cases. Cc: David Brown <davidb@codeaurora.org> Cc: Stepan Moskovchenko <stepanm@codeaurora.org> Cc: stable@vger.kernel.org # >= 3.1 Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Acked-by: David Brown <davidb@codeaurora.org>
| * iommu/amd: Work around broken IVRS tablesJoerg Roedel2012-01-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | On some systems the IVRS table does not contain all PCI devices present in the system. In case a device not present in the IVRS table is translated by the IOMMU no DMA is possible from that device by default. This patch fixes this by removing the DTE entry for every PCI device present in the system and not covered by IVRS. Cc: stable@vger.kernel.org # >= 3.0 Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
* | Merge branch '3.3-rc-fixes' of ↵Linus Torvalds2012-02-0821-140/+266
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending This series contains pending target bug-fixes and cleanups for v3.3-rc3 that have been addressed the past weeks in lio-core.git. Some of the highlights include: - Fix handling for control CDBs with data greater than PAGE_SIZE (andy) - Use IP_FREEBIND for iscsi-target to address network portal creation issues with systemd (dax) - Allow PERSISTENT RESERVE IN for non-reservation holder (marco) - Fix iblock se_dev_attrib.unmap_granularity (marco) - Fix unsupported WRITE_SAME sense payload handling (martin) - Add workaround for zero-length control CDB handling (nab) - Fix discovery with INADDR_ANY and IN6ADDR_ANY_INIT (nab) - Fix target_submit_cmd() exception handling (nab) - Return correct ASC for unimplemented VPD pages (roland) - Don't zero pages used for data buffers (roland) - Fix return code of core_tpg_.*_lun (sebastian) * '3.3-rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (26 commits) target: Fix unsupported WRITE_SAME sense payload iscsi: use IP_FREEBIND socket option iblock: fix handling of large requests target: handle empty string writes in sysfs iscsi_target: in_aton needs linux/inet.h target: Fix iblock se_dev_attrib.unmap_granularity target: Fix target_submit_cmd() exception handling target: Change target_submit_cmd() to return void target: accept REQUEST_SENSE with 18bytes target: Fail INQUIRY commands with EVPD==0 but PAGE CODE!=0 target: Return correct ASC for unimplemented VPD pages iscsi-target: Fix discovery with INADDR_ANY and IN6ADDR_ANY_INIT target: Allow control CDBs with data > 1 page iscsi-target: Fix up a few assignments iscsi-target: make one-bit bitfields unsigned iscsi-target: Fix double list_add with iscsit_alloc_buffs reject iscsi-target: Fix reject release handling in iscsit_free_cmd() target: fix return code of core_tpg_.*_lun target: use save/restore lock primitive in core_dec_lacl_count() target: avoid multiple outputs in scsi_dump_inquiry() ...
| * | target: Fix unsupported WRITE_SAME sense payloadMartin Svec2012-02-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a bug in target-core where unsupported WRITE_SAME ops from a target_check_write_same_discard() failure was incorrectly returning CHECK_CONDITION w/ TCM_INVALID_CDB_FIELD sense data. This was causing some clients to not properly fall back, so go ahead and use the correct TCM_UNSUPPORTED_SCSI_OPCODE sense for this case. Reported-by: Martin Svec <martin.svec@zoner.cz> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
| * | iscsi: use IP_FREEBIND socket optionDax Kelson2012-02-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use IP_FREEBIND socket option so that iscsi portal configuration with explicit IP addresses can happen during boot, before network interfaces have been assigned IPs. This is especially important on systemd based Linux boxes where system boot happens asynchronously and non-trivial configuration must be done to get targetcli.service to start synchronously after the network is configured. Reference: http://lists.fedoraproject.org/pipermail/devel/2011-October/158025.html Signed-off-by: Dax Kelson <dkelson@gurulabs.com> Cc: "Nicholas A. Bellinger" <nab@linux-iscsi.org> Cc: "Andy Grover" <agrover@redhat.com> Cc: "Lennart Poettering" <lennart@poettering.net> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
| * | iblock: fix handling of large requestsChristoph Hellwig2012-02-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Requesting to many bvecs upsets bio_alloc_bioset, so limit the number we ask for to the amount it can handle. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
| * | target: handle empty string writes in sysfsDan Carpenter2012-02-071-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | These are root only and we're not likely to hit the problem in practise, but it makes the static checkers happy. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
| * | iscsi_target: in_aton needs linux/inet.hStephen Rothwell2012-02-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes this error after a recent nfs cleanup: drivers/target/iscsi/iscsi_target_configfs.c: In function 'lio_target_call_addnptotpg': drivers/target/iscsi/iscsi_target_configfs.c:214:3: error: implicit declaration of function 'in6_pton' [-Werror=implicit-function-declaration] drivers/target/iscsi/iscsi_target_configfs.c:239:3: error: implicit declaration of function 'in_aton' [-Werror=implicit-function-declaration] Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
| * | target: Fix iblock se_dev_attrib.unmap_granularityMarco Sanvido2012-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The block layer keeps q->limits.discard_granularity in bytes, but iblock (and the SCSI Block Limits VPD page) keep unmap_granularity in blocks. Report the correct value when exporting block devices by dividing to convert bytes to blocks. Signed-off-by: Roland Dreier <roland@purestorage.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
| * | target: Fix target_submit_cmd() exception handlingNicholas Bellinger2012-02-071-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a bug in target_submit_cmd() where the failure path for transport_generic_allocate_tasks() made a direct call to transport_send_check_condition_and_sense() and not calling the final target_put_sess_cmd() release callback. For transport_generic_allocate_tasks() failures, use the proper call to transport_generic_request_failure() to handle kref_put() along with potential internal queue full response processing. It also makes transport_lookup_cmd_lun() failures in target_submit_cmd() use transport_send_check_condition_and_sense() and target_put_sess_cmd() directly to avoid se_cmd->se_dev reference in transport_generic_request_failure() handling. Finally it drops the out_check_cond: label and use direct reference for allocate task failures, and per-se_device queue_full handling is currently not supported for transport_lookup_cmd_lun() failure descriptors due to se_device dependency. Reported-by: Roland Dreier <roland@purestorage.com> Cc: Roland Dreier <roland@purestorage.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
| * | target: Change target_submit_cmd() to return voidAndy Grover2012-02-073-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Retval not very useful, and may even be harmful. Once submitted, fabrics should expect a sense error if anything goes wrong. All fabrics checking of this retval are useless or broken: fc checks it just to emit more debug output. ib_srpt trickles retval up, then it is ignored. qla2xxx trickles it up, which then causes a bug because the abort goto in qla_target.c thinks cmd hasn't been sent to target. Just returning nothing is best. Signed-off-by: Andy Grover <agrover@redhat.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
| * | target: accept REQUEST_SENSE with 18bytesSebastian Andrzej Siewior2012-02-071-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WindowsXP+BOT issues a MODE_SENSE request with page 0x1c which is not suppoerted by target. Target rejects that command with TCM_INVALID_CDB_FIELD, so far so good. On BOT I can't send the SENSE response back, instead I can only reply that an error occured. The next thing happens is a REQUEST_SENSE request with 18 bytes length. Since the check here is more than 18 bytes I have to NACK that request as well. This is not really required: We check for some additional room, but we never use it. The additional length is set to 0xa so the total length is 0xa + 8 = 18 which is fine with my 18 bytes. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
OpenPOWER on IntegriCloud