]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
12 years agoMerge remote-tracking branch 'fsnotify/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 05:42:01 +0000 (16:42 +1100)]
Merge remote-tracking branch 'fsnotify/for-next'

12 years agoMerge remote-tracking branch 'pm/linux-next'
Stephen Rothwell [Tue, 1 Nov 2011 05:41:54 +0000 (16:41 +1100)]
Merge remote-tracking branch 'pm/linux-next'

12 years agoMerge remote-tracking branch 'osd/linux-next'
Stephen Rothwell [Tue, 1 Nov 2011 05:40:25 +0000 (16:40 +1100)]
Merge remote-tracking branch 'osd/linux-next'

12 years agoMerge remote-tracking branch 'cputime/cputime'
Stephen Rothwell [Tue, 1 Nov 2011 05:34:13 +0000 (16:34 +1100)]
Merge remote-tracking branch 'cputime/cputime'

Conflicts:
fs/proc/stat.c
include/asm-generic/cputime.h
kernel/sched_stats.h

12 years agoMerge commit 'refs/next/20111025/watchdog'
Stephen Rothwell [Tue, 1 Nov 2011 05:30:29 +0000 (16:30 +1100)]
Merge commit 'refs/next/20111025/watchdog'

12 years agoMerge remote-tracking branch 'security/next'
Stephen Rothwell [Tue, 1 Nov 2011 05:22:54 +0000 (16:22 +1100)]
Merge remote-tracking branch 'security/next'

12 years agoMerge remote-tracking branch 'regulator/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 05:21:22 +0000 (16:21 +1100)]
Merge remote-tracking branch 'regulator/for-next'

12 years agoMerge remote-tracking branch 'mfd/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 05:19:48 +0000 (16:19 +1100)]
Merge remote-tracking branch 'mfd/for-next'

Conflicts:
arch/arm/mach-imx/mach-mx31moboard.c
arch/arm/mach-omap2/board-omap3beagle.c

12 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 05:11:31 +0000 (16:11 +1100)]
Merge remote-tracking branch 'md/for-next'

12 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 05:11:24 +0000 (16:11 +1100)]
Merge remote-tracking branch 'slab/for-next'

12 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Tue, 1 Nov 2011 05:04:40 +0000 (16:04 +1100)]
Merge remote-tracking branch 'kgdb/kgdb-next'

12 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Tue, 1 Nov 2011 05:03:21 +0000 (16:03 +1100)]
Merge remote-tracking branch 'mmc/mmc-next'

12 years agoMerge remote-tracking branch 'battery/master'
Stephen Rothwell [Tue, 1 Nov 2011 05:01:55 +0000 (16:01 +1100)]
Merge remote-tracking branch 'battery/master'

12 years agoMerge branch 'quilt/device-mapper'
Stephen Rothwell [Tue, 1 Nov 2011 05:00:19 +0000 (16:00 +1100)]
Merge branch 'quilt/device-mapper'

12 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 04:54:04 +0000 (15:54 +1100)]
Merge remote-tracking branch 'block/for-next'

Conflicts:
drivers/md/faulty.c
drivers/md/linear.c
drivers/md/md.c
drivers/md/md.h
drivers/md/multipath.c
drivers/md/raid0.c
drivers/md/raid1.c
drivers/md/raid10.c
drivers/md/raid5.c
drivers/staging/zram/zram_drv.c

12 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Tue, 1 Nov 2011 04:42:57 +0000 (15:42 +1100)]
Merge remote-tracking branch 'input/next'

12 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Tue, 1 Nov 2011 04:36:07 +0000 (15:36 +1100)]
Merge branch 'quilt/rr'

12 years agoMerge remote-tracking branch 'cpufreq/next'
Stephen Rothwell [Tue, 1 Nov 2011 04:34:45 +0000 (15:34 +1100)]
Merge remote-tracking branch 'cpufreq/next'

12 years agoMerge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 04:33:19 +0000 (15:33 +1100)]
Merge remote-tracking branch 'sound-asoc/for-next'

12 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 04:31:52 +0000 (15:31 +1100)]
Merge remote-tracking branch 'sound/for-next'

12 years agoMerge commit 'refs/next/20111025/crypto'
Stephen Rothwell [Tue, 1 Nov 2011 04:22:11 +0000 (15:22 +1100)]
Merge commit 'refs/next/20111025/crypto'

12 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Tue, 1 Nov 2011 04:11:56 +0000 (15:11 +1100)]
Merge remote-tracking branch 'l2-mtd/master'

Conflicts:
arch/arm/mach-at91/board-afeb-9260v1.c
arch/arm/mach-at91/board-neocore926.c
arch/arm/mach-at91/board-rm9200dk.c
arch/arm/mach-at91/board-sam9g20ek.c
arch/arm/mach-at91/board-sam9m10g45ek.c
arch/arm/mach-at91/board-usb-a9260.c
drivers/mtd/maps/lantiq-flash.c

12 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Tue, 1 Nov 2011 04:04:28 +0000 (15:04 +1100)]
Merge remote-tracking branch 'bluetooth/master'

Conflicts:
net/bluetooth/l2cap_sock.c

12 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Tue, 1 Nov 2011 04:02:54 +0000 (15:02 +1100)]
Merge remote-tracking branch 'slave-dma/next'

12 years agoMerge remote-tracking branch 'target-merge/for-next-merge'
Stephen Rothwell [Tue, 1 Nov 2011 04:01:33 +0000 (15:01 +1100)]
Merge remote-tracking branch 'target-merge/for-next-merge'

12 years agoMerge remote-tracking branch 'target-updates/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 04:00:07 +0000 (15:00 +1100)]
Merge remote-tracking branch 'target-updates/for-next'

12 years agoMerge remote-tracking branch 'scsi/master'
Stephen Rothwell [Tue, 1 Nov 2011 03:57:05 +0000 (14:57 +1100)]
Merge remote-tracking branch 'scsi/master'

12 years agoMerge remote-tracking branch 'ibft/master'
Stephen Rothwell [Tue, 1 Nov 2011 03:56:53 +0000 (14:56 +1100)]
Merge remote-tracking branch 'ibft/master'

12 years agoMerge remote-tracking branch 'swiotlb/master'
Stephen Rothwell [Tue, 1 Nov 2011 03:56:49 +0000 (14:56 +1100)]
Merge remote-tracking branch 'swiotlb/master'

Conflicts:
drivers/xen/swiotlb-xen.c

12 years agoMerge remote-tracking branch 'ieee1394/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 03:45:39 +0000 (14:45 +1100)]
Merge remote-tracking branch 'ieee1394/for-next'

12 years agoMerge remote-tracking branch 'infiniband/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 03:43:57 +0000 (14:43 +1100)]
Merge remote-tracking branch 'infiniband/for-next'

12 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 03:43:50 +0000 (14:43 +1100)]
Merge remote-tracking branch 'kconfig/for-next'

12 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 03:42:25 +0000 (14:42 +1100)]
Merge remote-tracking branch 'kbuild/for-next'

Conflicts:
drivers/net/ethernet/stmicro/stmmac/Kconfig

12 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Tue, 1 Nov 2011 03:20:53 +0000 (14:20 +1100)]
Merge remote-tracking branch 'v4l-dvb/master'

12 years agoMerge remote-tracking branch 'docs/docs-move'
Stephen Rothwell [Tue, 1 Nov 2011 03:19:31 +0000 (14:19 +1100)]
Merge remote-tracking branch 'docs/docs-move'

12 years agoMerge branch 'quilt/kernel-doc'
Stephen Rothwell [Tue, 1 Nov 2011 03:18:16 +0000 (14:18 +1100)]
Merge branch 'quilt/kernel-doc'

Conflicts:
Documentation/PCI/pci.txt

12 years agoMerge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Tue, 1 Nov 2011 03:16:55 +0000 (14:16 +1100)]
Merge branch 'quilt/jdelvare-hwmon'

12 years agoMerge remote-tracking branch 'bjdooks-i2c/next-i2c'
Stephen Rothwell [Tue, 1 Nov 2011 03:15:36 +0000 (14:15 +1100)]
Merge remote-tracking branch 'bjdooks-i2c/next-i2c'

12 years agoMerge remote-tracking branch 'ubifs/linux-next'
Stephen Rothwell [Tue, 1 Nov 2011 03:15:24 +0000 (14:15 +1100)]
Merge remote-tracking branch 'ubifs/linux-next'

12 years agoMerge remote-tracking branch 'squashfs/master'
Stephen Rothwell [Tue, 1 Nov 2011 03:14:04 +0000 (14:14 +1100)]
Merge remote-tracking branch 'squashfs/master'

12 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Tue, 1 Nov 2011 03:12:44 +0000 (14:12 +1100)]
Merge remote-tracking branch 'ocfs2/linux-next'

Conflicts:
fs/ocfs2/xattr.c

12 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Tue, 1 Nov 2011 03:11:04 +0000 (14:11 +1100)]
Merge remote-tracking branch 'nfs/linux-next'

12 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Tue, 1 Nov 2011 03:09:47 +0000 (14:09 +1100)]
Merge remote-tracking branch 'logfs/master'

Conflicts:
fs/logfs/file.c

12 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Tue, 1 Nov 2011 03:01:15 +0000 (14:01 +1100)]
Merge remote-tracking branch 'gfs2/master'

Conflicts:
fs/gfs2/file.c

12 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Tue, 1 Nov 2011 02:53:55 +0000 (13:53 +1100)]
Merge remote-tracking branch 'ext4/dev'

12 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Tue, 1 Nov 2011 02:52:34 +0000 (13:52 +1100)]
Merge remote-tracking branch 'ext3/for_next'

12 years agoMerge remote-tracking branch 'cifs/master'
Stephen Rothwell [Tue, 1 Nov 2011 02:51:12 +0000 (13:51 +1100)]
Merge remote-tracking branch 'cifs/master'

12 years agoMerge remote-tracking branch 'xtensa/master'
Stephen Rothwell [Tue, 1 Nov 2011 02:49:48 +0000 (13:49 +1100)]
Merge remote-tracking branch 'xtensa/master'

12 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Tue, 1 Nov 2011 02:48:27 +0000 (13:48 +1100)]
Merge remote-tracking branch 'unicore32/unicore32'

12 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Tue, 1 Nov 2011 02:47:11 +0000 (13:47 +1100)]
Merge remote-tracking branch 'tile/master'

Conflicts:
arch/tile/kernel/intvec_32.S
arch/tile/lib/atomic_asm_32.S

12 years agoMerge remote-tracking branch 'rmobile/rmobile-latest'
Stephen Rothwell [Tue, 1 Nov 2011 02:22:37 +0000 (13:22 +1100)]
Merge remote-tracking branch 'rmobile/rmobile-latest'

12 years agoMerge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Tue, 1 Nov 2011 02:21:19 +0000 (13:21 +1100)]
Merge remote-tracking branch 'sh/sh-latest'

12 years agoMerge remote-tracking branch 'galak/next'
Stephen Rothwell [Tue, 1 Nov 2011 02:19:50 +0000 (13:19 +1100)]
Merge remote-tracking branch 'galak/next'

12 years agoMerge remote-tracking branch '52xx-and-virtex/powerpc/next'
Stephen Rothwell [Tue, 1 Nov 2011 02:18:11 +0000 (13:18 +1100)]
Merge remote-tracking branch '52xx-and-virtex/powerpc/next'

12 years agoMerge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Tue, 1 Nov 2011 02:11:44 +0000 (13:11 +1100)]
Merge remote-tracking branch 'powerpc/next'

Conflicts:
arch/powerpc/configs/40x/hcu4_defconfig
arch/powerpc/include/asm/udbg.h
arch/powerpc/kernel/udbg.c
drivers/tty/serial/8250.c

12 years agoMerge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 02:08:52 +0000 (13:08 +1100)]
Merge remote-tracking branch 'parisc/for-next'

12 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Tue, 1 Nov 2011 02:07:35 +0000 (13:07 +1100)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

Conflicts:
arch/mips/alchemy/devboards/db1x00/platform.c
drivers/ide/Kconfig
drivers/mmc/host/au1xmmc.c
drivers/video/Kconfig
sound/mips/Kconfig

12 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 02:07:28 +0000 (13:07 +1100)]
Merge remote-tracking branch 'm68knommu/for-next'

Conflicts:
arch/m68k/Kconfig.bus
arch/m68k/Kconfig.devices
arch/m68k/kernel/Makefile

12 years agoMerge remote-tracking branch 'ia64/next'
Stephen Rothwell [Tue, 1 Nov 2011 01:29:08 +0000 (12:29 +1100)]
Merge remote-tracking branch 'ia64/next'

12 years agoMerge branch 'quilt/hexagon'
Stephen Rothwell [Tue, 1 Nov 2011 01:27:48 +0000 (12:27 +1100)]
Merge branch 'quilt/hexagon'

12 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 01:26:09 +0000 (12:26 +1100)]
Merge remote-tracking branch 'cris/for-next'

12 years agoMerge remote-tracking branch 'c6x/for-linux-next'
Stephen Rothwell [Tue, 1 Nov 2011 01:19:35 +0000 (12:19 +1100)]
Merge remote-tracking branch 'c6x/for-linux-next'

12 years agoMerge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Tue, 1 Nov 2011 01:18:21 +0000 (12:18 +1100)]
Merge remote-tracking branch 'blackfin/for-linus'

12 years agoMerge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 01:17:02 +0000 (12:17 +1100)]
Merge remote-tracking branch 'tegra/for-next'

12 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 01:17:01 +0000 (12:17 +1100)]
Merge remote-tracking branch 's5p/for-next'

12 years agoMerge remote-tracking branch 'i.MX/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 01:15:42 +0000 (12:15 +1100)]
Merge remote-tracking branch 'i.MX/for-next'

Conflicts:
arch/arm/mach-mx5/clock-mx51-mx53.c
arch/arm/mach-mx5/devices-imx53.h
arch/arm/mach-mx5/mm.c
arch/arm/plat-mxc/include/mach/hardware.h

12 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Tue, 1 Nov 2011 01:14:16 +0000 (12:14 +1100)]
Merge remote-tracking branch 'at91/at91-next'

Conflicts:
arch/arm/mach-at91/at91sam9260.c
arch/arm/mach-at91/at91sam9g45.c
drivers/ata/pata_at91.c

12 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 01:01:41 +0000 (12:01 +1100)]
Merge remote-tracking branch 'arm-soc/for-next'

12 years agoMerge remote-tracking branch 'arm-lpae/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 01:00:25 +0000 (12:00 +1100)]
Merge remote-tracking branch 'arm-lpae/for-next'

Conflicts:
arch/arm/include/asm/page.h
arch/arm/include/asm/pgtable-hwdef.h
arch/arm/include/asm/pgtable.h
arch/arm/kernel/head.S
arch/arm/kernel/sleep.S
arch/arm/mm/dma-mapping.c
arch/arm/mm/mmu.c

12 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Tue, 1 Nov 2011 01:00:08 +0000 (12:00 +1100)]
Merge remote-tracking branch 'arm/for-next'

12 years agoMerge remote-tracking branch 'ide/master'
Stephen Rothwell [Tue, 1 Nov 2011 00:58:45 +0000 (11:58 +1100)]
Merge remote-tracking branch 'ide/master'

12 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Tue, 1 Nov 2011 00:24:29 +0000 (11:24 +1100)]
Merge remote-tracking branch 'pci-current/for-linus'

12 years agoMerge remote-tracking branch 'm68k-current/for-linus'
Stephen Rothwell [Tue, 1 Nov 2011 00:24:24 +0000 (11:24 +1100)]
Merge remote-tracking branch 'm68k-current/for-linus'

12 years agoWhen devices in a RAID array are not in-sync, they are supposed to be
Jonathan E Brassow [Tue, 1 Nov 2011 00:15:36 +0000 (11:15 +1100)]
When devices in a RAID array are not in-sync, they are supposed to be
reported as such in the status output as an 'a' character, which means
"alive, but not in-sync".  But when the entire array is rebuilt 'A' is
being used, which is incorrect.  This patch corrects this to 'a'.

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoAllow userspace dm log implementations to register their log device so it
Jonathan E Brassow [Tue, 1 Nov 2011 00:15:36 +0000 (11:15 +1100)]
Allow userspace dm log implementations to register their log device so it
is no longer missing from the list of device dependencies.

When device mapper targets use a device they normally call dm_get_device
which includes it in the device list returned to userspace applications
such as LVM through the DM_TABLE_DEPS ioctl.  Userspace log devices
don't use dm_get_device as userspace opens them so they are missing from
the list of dependencies.

This patch extends the DM_ULOG_CTR operation to allow userspace to
respond with the name of the log device (if appropriate) to be
registered via 'dm_get_device'.  DM_ULOG_REQUEST_VERSION is incremented.

This is backwards compatible.  If the kernel and userspace log server
have both been updated, the new information will be passed down to the
kernel and the device will be registered.  If the kernel is new, but
the log server is old, the log server will not pass down any device
information and the kernel will simply bypass the device registration
as before.  If the kernel is old but the log server is new, the log
server will see the old version number and not pass the device info.

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoFix comments: clustered-disk needs a hyphen not an underscore.
Jonathan Brassow [Tue, 1 Nov 2011 00:15:35 +0000 (11:15 +1100)]
Fix comments: clustered-disk needs a hyphen not an underscore.

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoInitial EXPERIMENTAL implementation of device-mapper thin provisioning
Joe Thornber [Tue, 1 Nov 2011 00:15:35 +0000 (11:15 +1100)]
Initial EXPERIMENTAL implementation of device-mapper thin provisioning
with snapshot support.  The 'thin' target is used to create instances of
the virtual devices that are hosted in the 'thin-pool' target.  The
thin-pool target provides data sharing among devices.  This sharing is
made possible using the persistent-data library in the previous patch.

The main highlight of this implementation, compared to the previous
implementation of snapshots, is that it allows many virtual devices to
be stored on the same data volume, simplifying administration and
allowing sharing of data between volumes (thus reducing disk usage).

Another big feature is support for arbitrary depth of recursive
snapshots (snapshots of snapshots of snapshots ...).  The previous
implementation of snapshots did this by chaining together lookup tables,
and so performance was O(depth).  This new implementation uses a single
data structure so we don't get this degradation with depth.

For further information and examples of how to use this, please read
Documentation/device-mapper/thin-provisioning.txt

Signed-off-by: Joe Thornber <thornber@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoThe persistent-data library offers a re-usable framework for the storage
Joe Thornber [Tue, 1 Nov 2011 00:15:35 +0000 (11:15 +1100)]
The persistent-data library offers a re-usable framework for the storage
and management of on-disk metadata in device-mapper targets.

It's used by the thin-provisioning target in the next patch and in an
upcoming hierarchical storage target.

For further information, please read
Documentation/device-mapper/persistent-data.txt

Signed-off-by: Joe Thornber <thornber@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoThe dm-bufio interface allows you to do cached I/O on devices,
Mikulas Patocka [Tue, 1 Nov 2011 00:15:34 +0000 (11:15 +1100)]
The dm-bufio interface allows you to do cached I/O on devices,
holding recently read blocks in memory and performing delayed writes.

We don't use buffer cache or page cache already present in the kernel, because:
* we need to handle block sizes larger than a page
* we can't allocate memory to perform reads or we'd have deadlocks

Currently, when a cache is required, we limit its size to a fraction of
available memory.  Usage can be viewed and changed in
/sys/module/dm_bufio/parameters/ .

The first user is thin provisioning, but more dm users are planned.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoExport dm_get_md() for the new thin provisioning target to use.
Alasdair G Kergon [Tue, 1 Nov 2011 00:15:34 +0000 (11:15 +1100)]
Export dm_get_md() for the new thin provisioning target to use.

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoIntroduce DM_TARGET_IMMUTABLE to indicate that the target type cannot be mixed
Alasdair G Kergon [Tue, 1 Nov 2011 00:15:33 +0000 (11:15 +1100)]
Introduce DM_TARGET_IMMUTABLE to indicate that the target type cannot be mixed
with any other target type, and once loaded into a device, it cannot be
replaced with a table containing a different type.

The thin provisioning pool device will use this.

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoAdd a target feature flag DM_TARGET_ALWAYS_WRITEABLE to indicate that a target
Alasdair G Kergon [Tue, 1 Nov 2011 00:15:33 +0000 (11:15 +1100)]
Add a target feature flag DM_TARGET_ALWAYS_WRITEABLE to indicate that a target
does not support read-only mode.

The initial implementation of the thin provisioning target uses this.

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoIntroduce the concept of a singleton table which contains exactly one target.
Alasdair G Kergon [Tue, 1 Nov 2011 00:15:33 +0000 (11:15 +1100)]
Introduce the concept of a singleton table which contains exactly one target.

If a target type sets the DM_TARGET_SINGLETON feature bit device-mapper
will ensure that any table that includes that target contains no others.

The thin provisioning pool target uses this.

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoThis patch introduces dm_kcopyd_zero() to make it easy to use
Mikulas Patocka [Tue, 1 Nov 2011 00:15:32 +0000 (11:15 +1100)]
This patch introduces dm_kcopyd_zero() to make it easy to use
kcopyd to write zeros into the requested areas instead
instead of copying.  It is implemented by passing a NULL
copying source to dm_kcopyd_copy().

The forthcoming thin provisioning target uses this.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoSince set_current_state() contains a memory barrier in it,
Namhyung Kim [Tue, 1 Nov 2011 00:15:32 +0000 (11:15 +1100)]
Since set_current_state() contains a memory barrier in it,
an additional barrier isn't needed.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoprintk_ratelimit() shares global ratelimiting state with all
Namhyung Kim [Tue, 1 Nov 2011 00:15:32 +0000 (11:15 +1100)]
printk_ratelimit() shares global ratelimiting state with all
other subsystems, so its usage is discouraged. Instead,
define and use dm's local state.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoAllow QUEUE_FLAG_NONROT to propagate up the device stack if all
Mandeep Singh Baines [Tue, 1 Nov 2011 00:15:31 +0000 (11:15 +1100)]
Allow QUEUE_FLAG_NONROT to propagate up the device stack if all
underlying devices are non-rotational.  Tools like ureadahead will
schedule IOs differently based on the rotational flag.

With this patch, I see boot time go from 7.75 s to 7.46 s on my device.

Suggested-by: J. Richard Barnette <jrbarnette@chromium.org>
Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Jens Axboe <jaxboe@fusionio.com>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: dm-devel@redhat.com
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agovirtio: Add platform bus driver for memory mapped virtio device
Pawel Moll [Mon, 24 Oct 2011 13:07:03 +0000 (14:07 +0100)]
virtio: Add platform bus driver for memory mapped virtio device

This patch, based on virtio PCI driver, adds support for memory
mapped (platform) virtio device. This should allow environments
like qemu to use virtio-based block & network devices even on
platforms without PCI support.

One can define and register a platform device which resources
will describe memory mapped control registers and "mailbox"
interrupt. Such device can be also instantiated using the Device
Tree node with compatible property equal "virtio,mmio".

Cc: Anthony Liguori <aliguori@us.ibm.com>
Cc: Michael S.Tsirkin <mst@redhat.com>
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio-pci: Use PCI MMIO instead of PIO when available
Alexey Kardashevskiy [Wed, 12 Oct 2011 03:39:06 +0000 (14:39 +1100)]
virtio-pci: Use PCI MMIO instead of PIO when available

Currently virtio-pci is specced so that configuration of the device is
done through a PCI IO space (via BAR 0 of the virtual PCI device).
However, use of PCI IO space (aka PIO) is long deprecated, and can be
awkward to use on some systems (for example IBM pSeries machines
typically have many PCI domains, and not all firmware/hypervisor
versions necessarily support PCI PIO access on all domains).

Therefore, it would be preferable for the virtio virtual PCI device to
advertise a PCI memory space (aka MMIO) BAR and have configuration
done through this interface instead.  This can be done backwards
compatibly by advertising the MMIO BAR in addition to the existing PIO
BAR so that the guest driver can choose whichever interface.

In anticipation of adding such an MMIO BAR to virtio host-side
implementations (e.g. qemu), this patch updates the Linux virtio-pci
driver to attempt to use BAR 2 (which will be MMIO) in preference to
the existing PIO BAR 0.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: Dont add "config" to list for !per_vq_vector
Krishna Kumar [Wed, 5 Oct 2011 05:38:59 +0000 (11:08 +0530)]
virtio: Dont add "config" to list for !per_vq_vector

For the MSI but non-per_vq_vector case, the config/change vq
also gets added to the list of vqs that need to process the
MSI interrupt. This is not needed as config has it's own
handler (vp_config_changed). In any case, vring_interrupt()
finds nothing needs to be done on this vq.

I tested this patch by testing the "Fallback:" and "Finally
fall back" cases in vp_find_vqs(). Please review.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: console: wait for first console port for early console output
Christian Borntraeger [Thu, 22 Sep 2011 18:14:23 +0000 (23:44 +0530)]
virtio: console: wait for first console port for early console output

On s390 I have seen some random

"Warning: unable to open an initial console"

boot failure. Turns out that tty_open fails, because the
hvc_alloc was not yet done. In former times this could not happen,
since the probe function automatically called hvc_alloc. With newer
versions (multiport) some host<->guest interaction is required
before hvc_alloc is called. This might be too late, especially if
an initramfs is involved. Lets use a completion if we have
multiport and an early console.

[Amit:
  * Use NULL instead of 0 for pointer comparison
  * Rename 'port_added' to 'early_console_added'
  * Re-format, re-word commit message
  * Rebase patch on top of current queue]

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Acked-by: Chrstian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: console: add port stats for bytes received, sent and discarded
Amit Shah [Wed, 14 Sep 2011 07:36:46 +0000 (13:06 +0530)]
virtio: console: add port stats for bytes received, sent and discarded

This commit adds port-specific stats for the number of bytes received,
sent and discarded.  They're exposed via the debugfs interface.  This
data can be used to check for data loss bugs (or disprove such claims).
It can also be used for accounting, if there's such a need.

The stats remain valid throughout the lifetime of the port.  Unplugging
a port will reset the stats.  The numbers are not reset across port
opens/closes.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: console: make discard_port_data() use get_inbuf()
Amit Shah [Wed, 14 Sep 2011 07:36:45 +0000 (13:06 +0530)]
virtio: console: make discard_port_data() use get_inbuf()

discard_port_data() used virtqueue_get_buf() directly instead of using
get_inbuf().  Fix this, so that we get accounting for all received
bytes.  This also simplifies the code a lot.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: console: rename variable
Amit Shah [Wed, 14 Sep 2011 07:36:44 +0000 (13:06 +0530)]
virtio: console: rename variable

'ret' is a misnomer in discard_port_data() since we don't return the
value.  Rename it to 'err'.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: console: make get_inbuf() return port->inbuf if present
Amit Shah [Wed, 14 Sep 2011 07:36:43 +0000 (13:06 +0530)]
virtio: console: make get_inbuf() return port->inbuf if present

Instead of pulling in a buffer from the vq each time it's called,
get_inbuf() now checks if the current active buffer, in port->inbuf is
valid.  If it is, just returns a pointer to it.  This ends up
simplifying a lot of code calling get_inbuf() since the check for
port->inbuf being valid was done by all the callers.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: console: Fix return type for get_inbuf()
Amit Shah [Wed, 14 Sep 2011 07:36:42 +0000 (13:06 +0530)]
virtio: console: Fix return type for get_inbuf()

get_inbuf() returns void *.  There's no reason to return void pointers
instead of the correct struct port_buffer *.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: console: Use wait_event_freezable instead of _interruptible
Amit Shah [Wed, 14 Sep 2011 07:36:41 +0000 (13:06 +0530)]
virtio: console: Use wait_event_freezable instead of _interruptible

Get ready to support suspend/resume by using the freezable calls so that
blocking read/write syscalls are handled properly across suspend/resume.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: console: Ignore port name update request if name already set
Amit Shah [Wed, 14 Sep 2011 07:36:40 +0000 (13:06 +0530)]
virtio: console: Ignore port name update request if name already set

We don't allow port name changes dynamically for a port.  So any
requests by the host to change the name are ignored.

Before this patch, if the hypervisor sent a port name while we had one
set already, we would leak memory equivalent to the size of the old
name.

This scenario wasn't expected so far, but with the suspend-resume
support, we'll send the VIRTIO_CONSOLE_PORT_READY message after restore,
which can get us into this situation.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: console: Fix indentation
Amit Shah [Wed, 14 Sep 2011 07:36:39 +0000 (13:06 +0530)]
virtio: console: Fix indentation

Convert spaces to tabs and fix indentation for an if statement split
into multiple lines.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: modify vring_init and vring_size to take account of the layout containing...
Wang Sheng-Hui [Mon, 29 Aug 2011 07:55:59 +0000 (15:55 +0800)]
virtio: modify vring_init and vring_size to take account of the layout containing *_event_idx

Based on the layout description in the comments, take account of
the *_event_idx in functions vring_init and vring_size.

Signed-off-by: Wang Sheng-Hui <shhuiw@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>