]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
13 years agoMake the pagevec_lookup loops in truncate_inode_pages_range(),
Hugh Dickins [Sat, 16 Jul 2011 13:30:41 +0000 (23:30 +1000)]
Make the pagevec_lookup loops in truncate_inode_pages_range(),
invalidate_mapping_pages() and invalidate_inode_pages2_range() more
consistent with each other.

They were relying upon page->index of an unlocked page, but apologizing
for it: accept it, embrace it, add comments and WARN_ONs, and simplify the
index handling.

invalidate_inode_pages2_range() had special handling for a wrapped
page->index + 1 = 0 case; but MAX_LFS_FILESIZE doesn't let us anywhere
near there, and a corrupt page->index in the radix_tree could cause more
trouble than that would catch.  Remove that wrapped handling.

invalidate_inode_pages2_range() uses min() to limit the pagevec_lookup
when near the end of the range: copy that into the other two, although
it's less useful than you might think (it limits the use of the buffer,
rather than the indices looked up).

Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 years agoUse consistent variable names in truncate_pagecache(), truncate_setsize(),
Hugh Dickins [Sat, 16 Jul 2011 13:30:41 +0000 (23:30 +1000)]
Use consistent variable names in truncate_pagecache(), truncate_setsize(),
vmtruncate() and vmtruncate_range().

unmap_mapping_range() and vmtruncate_range() have mismatched interfaces:
don't change either, but make the vmtruncates more precise about what they
expect unmap_mapping_range() to do.

vmtruncate_range() is currently called only with page-aligned start and
end+1: can handle unaligned start, but unaligned end+1 would hit BUG_ON in
truncate_inode_pages_range() (lacks partial clearing of the end page).

Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 years agoCorrect comment on truncate_inode_pages*() in linux/mm.h; and remove
Hugh Dickins [Sat, 16 Jul 2011 13:30:41 +0000 (23:30 +1000)]
Correct comment on truncate_inode_pages*() in linux/mm.h; and remove
declaration of page_unuse(), it didn't exist even in 2.2.26 or 2.4.0!

Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 years agoThe often-NULL data arg to read_cache_page() and read_mapping_page()
Hugh Dickins [Sat, 16 Jul 2011 13:30:40 +0000 (23:30 +1000)]
The often-NULL data arg to read_cache_page() and read_mapping_page()
functions is misdescribed as "destination for read data": no, it's the
first arg to the filler function, often struct file * to ->readpage().

Satisfy checkpatch.pl on those filler prototypes, and tidy up the
declarations in linux/pagemap.h.

Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 years agos/EIO/EFAULT/
Andrew Morton [Sat, 16 Jul 2011 13:30:40 +0000 (23:30 +1000)]
s/EIO/EFAULT/

Cc: <stable@kernel.org>
Cc: Christian Zankel <chris@zankel.net>
Cc: Dan Rosenberg <drosenberg@vsecurity.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 years agoPrevent an arbitrary kernel read. Check the user pointer with access_ok()
Dan Rosenberg [Sat, 16 Jul 2011 13:30:40 +0000 (23:30 +1000)]
Prevent an arbitrary kernel read.  Check the user pointer with access_ok()
before copying data in.

Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
Cc: Christian Zankel <chris@zankel.net>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 years agofix code layout
Andrew Morton [Sat, 16 Jul 2011 13:30:38 +0000 (23:30 +1000)]
fix code layout

Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 years agoCurrently we are keeping faulted page locked throughout whole __do_fault
KAMEZAWA Hiroyuki [Sat, 16 Jul 2011 13:30:37 +0000 (23:30 +1000)]
Currently we are keeping faulted page locked throughout whole __do_fault
call (except for page_mkwrite code path) after calling file system's fault
code.  If we do early COW, we allocate a new page which has to be charged
for a memcg (mem_cgroup_newpage_charge).

This function, however, might block for unbounded amount of time if memcg
oom killer is disabled or fork-bomb is running because the only way out of
the OOM situation is either an external event or OOM-situation fix.

In the end we are keeping the faulted page locked and blocking other
processes from faulting it in which is not good at all because we are
basically punishing potentially an unrelated process for OOM condition in
a different group (I have seen stuck system because of ld-2.11.1.so being
locked).

We can do test easily.

 % cgcreate -g memory:A
 % cgset -r memory.limit_in_bytes=64M A
 % cgset -r memory.memsw.limit_in_bytes=64M A
 % cd kernel_dir; cgexec -g memory:A make -j

Then, the whole system will live-locked until you kill 'make -j'
by hands (or push reboot...) This is because some important page in a
a shared library are locked.

Considering again, the new page is not necessary to be allocated
with lock_page() held. And usual page allocation may dive into
long memory reclaim loop with holding lock_page() and can cause
very long latency.

There are 3 ways.
  1. do allocation/charge before lock_page()
     Pros. - simple and can handle page allocation in the same manner.
             This will reduce holding time of lock_page() in general.
     Cons. - we do page allocation even if ->fault() returns error.

  2. do charge after unlock_page(). Even if charge fails, it's just OOM.
     Pros. - no impact to non-memcg path.
     Cons. - implemenation requires special cares of LRU and we need to modify
             page_add_new_anon_rmap()...

  3. do unlock->charge->lock again method.
     Pros. - no impact to non-memcg path.
     Cons. - This may kill LOCK_PAGE_RETRY optimization. We need to release
             lock and get it again...

This patch moves "charge" and memory allocation for COW page
before lock_page(). Then, we can avoid scanning LRU with holding
a lock on a page and latency under lock_page() will be reduced.

Then, above livelock disappears.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Reported-by: Lutz Vieweg <lvml@5t9.de>
Original-idea-by: Michal Hocko <mhocko@suse.cz>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Ying Han <yinghan@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
13 years agoMerge remote-tracking branch 'writeback/next'
Stephen Rothwell [Tue, 26 Jul 2011 04:44:09 +0000 (14:44 +1000)]
Merge remote-tracking branch 'writeback/next'

Conflicts:
fs/fs-writeback.c
mm/filemap.c

13 years agoMerge remote-tracking branch 'tmem/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:39:13 +0000 (14:39 +1000)]
Merge remote-tracking branch 'tmem/linux-next'

13 years agoMerge remote-tracking branch 'staging/staging-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:37:29 +0000 (14:37 +1000)]
Merge remote-tracking branch 'staging/staging-next'

Conflicts:
Documentation/feature-removal-schedule.txt
drivers/staging/bcm/headers.h
drivers/staging/brcm80211/brcmfmac/dhd_linux.c
drivers/staging/brcm80211/brcmfmac/dhd_sdio.c
drivers/staging/brcm80211/brcmfmac/wl_cfg80211.h
drivers/staging/brcm80211/brcmfmac/wl_iw.c
drivers/staging/et131x/et131x_netdev.c
drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
drivers/staging/rtl8192e/r8192E.h
drivers/staging/tm6000/tm6000-alsa.c
drivers/staging/usbip/userspace/src/utils.h

13 years agoMerge remote-tracking branch 'usb/usb-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:23:09 +0000 (14:23 +1000)]
Merge remote-tracking branch 'usb/usb-next'

Conflicts:
Documentation/feature-removal-schedule.txt

13 years agoMerge remote-tracking branch 'tty/tty-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:19:42 +0000 (14:19 +1000)]
Merge remote-tracking branch 'tty/tty-next'

13 years agoMerge remote-tracking branch 'driver-core/driver-core-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:18:15 +0000 (14:18 +1000)]
Merge remote-tracking branch 'driver-core/driver-core-next'

13 years agoMerge remote-tracking branch 'regmap/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:16:49 +0000 (14:16 +1000)]
Merge remote-tracking branch 'regmap/for-next'

13 years agoMerge remote-tracking branch 'namespace/master'
Stephen Rothwell [Tue, 26 Jul 2011 04:15:24 +0000 (14:15 +1000)]
Merge remote-tracking branch 'namespace/master'

13 years agoMerge remote-tracking branch 'sysctl/master'
Stephen Rothwell [Tue, 26 Jul 2011 04:14:06 +0000 (14:14 +1000)]
Merge remote-tracking branch 'sysctl/master'

13 years agoMerge remote-tracking branch 'drivers-x86/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:12:27 +0000 (14:12 +1000)]
Merge remote-tracking branch 'drivers-x86/linux-next'

Conflicts:
Documentation/feature-removal-schedule.txt

13 years agoMerge remote-tracking branch 'xen-two/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:06:46 +0000 (14:06 +1000)]
Merge remote-tracking branch 'xen-two/linux-next'

13 years agoMerge remote-tracking branch 'tip/auto-latest'
Stephen Rothwell [Tue, 26 Jul 2011 04:06:10 +0000 (14:06 +1000)]
Merge remote-tracking branch 'tip/auto-latest'

13 years agoMerge remote-tracking branch 'i7300_edac/linux_next'
Stephen Rothwell [Tue, 26 Jul 2011 04:06:00 +0000 (14:06 +1000)]
Merge remote-tracking branch 'i7300_edac/linux_next'

13 years agoMerge remote-tracking branch 'i7core_edac/linux_next'
Stephen Rothwell [Tue, 26 Jul 2011 04:04:25 +0000 (14:04 +1000)]
Merge remote-tracking branch 'i7core_edac/linux_next'

13 years agoMerge remote-tracking branch 'fsnotify/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 04:01:45 +0000 (14:01 +1000)]
Merge remote-tracking branch 'fsnotify/for-next'

13 years agoMerge remote-tracking branch 'watchdog/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:59:56 +0000 (13:59 +1000)]
Merge remote-tracking branch 'watchdog/master'

13 years agoMerge remote-tracking branch 'agp/agp-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:59:10 +0000 (13:59 +1000)]
Merge remote-tracking branch 'agp/agp-next'

13 years agoMerge remote-tracking branch 'security-testing/next'
Stephen Rothwell [Tue, 26 Jul 2011 03:57:31 +0000 (13:57 +1000)]
Merge remote-tracking branch 'security-testing/next'

Conflicts:
security/tomoyo/realpath.c

13 years agoMerge remote-tracking branch 'voltage/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:55:58 +0000 (13:55 +1000)]
Merge remote-tracking branch 'voltage/for-next'

13 years agoMerge remote-tracking branch 'fbdev/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:54:18 +0000 (13:54 +1000)]
Merge remote-tracking branch 'fbdev/master'

13 years agoMerge remote-tracking branch 'drm/drm-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:52:38 +0000 (13:52 +1000)]
Merge remote-tracking branch 'drm/drm-next'

13 years agoMerge remote-tracking branch 'mfd/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:51:04 +0000 (13:51 +1000)]
Merge remote-tracking branch 'mfd/for-next'

Conflicts:
drivers/gpio/Makefile
drivers/mfd/Makefile

13 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:49:36 +0000 (13:49 +1000)]
Merge remote-tracking branch 'md/for-next'

13 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:42:57 +0000 (13:42 +1000)]
Merge remote-tracking branch 'slab/for-next'

13 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:41:29 +0000 (13:41 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'

13 years agoMerge remote-tracking branch 'leds/for-mm'
Stephen Rothwell [Tue, 26 Jul 2011 03:41:22 +0000 (13:41 +1000)]
Merge remote-tracking branch 'leds/for-mm'

Conflicts:
drivers/leds/Kconfig

13 years agoMerge remote-tracking branch 'battery/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:39:38 +0000 (13:39 +1000)]
Merge remote-tracking branch 'battery/master'

13 years agoMerge branch 'quilt/device-mapper'
Stephen Rothwell [Tue, 26 Jul 2011 03:37:59 +0000 (13:37 +1000)]
Merge branch 'quilt/device-mapper'

13 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:37:53 +0000 (13:37 +1000)]
Merge remote-tracking branch 'block/for-next'

13 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Tue, 26 Jul 2011 03:36:04 +0000 (13:36 +1000)]
Merge remote-tracking branch 'input/next'

13 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Tue, 26 Jul 2011 03:36:00 +0000 (13:36 +1000)]
Merge branch 'quilt/rr'

Conflicts:
arch/m68k/kernel/module_mm.c
arch/m68k/kernel/module_no.c
arch/x86/lguest/i386_head.S

13 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:31:54 +0000 (13:31 +1000)]
Merge remote-tracking branch 'sound/for-next'

13 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:30:21 +0000 (13:30 +1000)]
Merge remote-tracking branch 'l2-mtd/master'

Conflicts:
drivers/mtd/maps/pxa2xx-flash.c

13 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:28:56 +0000 (13:28 +1000)]
Merge remote-tracking branch 'bluetooth/master'

13 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:27:34 +0000 (13:27 +1000)]
Merge remote-tracking branch 'wireless/master'

13 years agoMerge remote-tracking branch 'async_tx/next'
Stephen Rothwell [Tue, 26 Jul 2011 03:24:33 +0000 (13:24 +1000)]
Merge remote-tracking branch 'async_tx/next'

13 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Tue, 26 Jul 2011 03:23:01 +0000 (13:23 +1000)]
Merge remote-tracking branch 'slave-dma/next'

Conflicts:
drivers/dma/mv_xor.c

13 years agoMerge remote-tracking branch 'iscsi-target/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:21:35 +0000 (13:21 +1000)]
Merge remote-tracking branch 'iscsi-target/for-next'

13 years agoMerge remote-tracking branch 'ibft/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:21:30 +0000 (13:21 +1000)]
Merge remote-tracking branch 'ibft/master'

13 years agoMerge remote-tracking branch 'swiotlb/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:21:25 +0000 (13:21 +1000)]
Merge remote-tracking branch 'swiotlb/master'

13 years agoMerge remote-tracking branch 'cpupowerutils/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:19:47 +0000 (13:19 +1000)]
Merge remote-tracking branch 'cpupowerutils/master'

13 years agoMerge remote-tracking branch 'powertools/tools-test'
Stephen Rothwell [Tue, 26 Jul 2011 03:18:25 +0000 (13:18 +1000)]
Merge remote-tracking branch 'powertools/tools-test'

13 years agoMerge remote-tracking branch 'idle-test/idle-test'
Stephen Rothwell [Tue, 26 Jul 2011 03:17:05 +0000 (13:17 +1000)]
Merge remote-tracking branch 'idle-test/idle-test'

13 years agoMerge remote-tracking branch 'acpi/test'
Stephen Rothwell [Tue, 26 Jul 2011 03:10:48 +0000 (13:10 +1000)]
Merge remote-tracking branch 'acpi/test'

Conflicts:
arch/ia64/Kconfig
arch/powerpc/Kconfig
arch/x86/Kconfig
lib/Kconfig
lib/Makefile

13 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:10:36 +0000 (13:10 +1000)]
Merge remote-tracking branch 'kconfig/for-next'

13 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:09:01 +0000 (13:09 +1000)]
Merge remote-tracking branch 'kbuild/for-next'

13 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Tue, 26 Jul 2011 03:07:14 +0000 (13:07 +1000)]
Merge remote-tracking branch 'v4l-dvb/master'

13 years agoMerge branch 'quilt/kernel-doc'
Stephen Rothwell [Tue, 26 Jul 2011 03:05:55 +0000 (13:05 +1000)]
Merge branch 'quilt/kernel-doc'

13 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:04:28 +0000 (13:04 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

13 years agoMerge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Tue, 26 Jul 2011 03:04:26 +0000 (13:04 +1000)]
Merge branch 'quilt/jdelvare-hwmon'

13 years agoMerge remote-tracking branch 'bjdooks-i2c/next-i2c'
Stephen Rothwell [Tue, 26 Jul 2011 03:03:11 +0000 (13:03 +1000)]
Merge remote-tracking branch 'bjdooks-i2c/next-i2c'

13 years agoMerge branch 'quilt/i2c'
Stephen Rothwell [Tue, 26 Jul 2011 03:03:09 +0000 (13:03 +1000)]
Merge branch 'quilt/i2c'

13 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:03:00 +0000 (13:03 +1000)]
Merge remote-tracking branch 'hid/for-next'

13 years agoMerge remote-tracking branch 'pci/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 03:00:01 +0000 (13:00 +1000)]
Merge remote-tracking branch 'pci/linux-next'

13 years agoMerge remote-tracking branch 'squashfs/master'
Stephen Rothwell [Tue, 26 Jul 2011 02:58:38 +0000 (12:58 +1000)]
Merge remote-tracking branch 'squashfs/master'

13 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 02:57:18 +0000 (12:57 +1000)]
Merge remote-tracking branch 'ocfs2/linux-next'

13 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Tue, 26 Jul 2011 02:51:35 +0000 (12:51 +1000)]
Merge remote-tracking branch 'nfsd/nfsd-next'

Conflicts:
Documentation/feature-removal-schedule.txt

13 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 02:13:03 +0000 (12:13 +1000)]
Merge remote-tracking branch 'nfs/linux-next'

13 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Tue, 26 Jul 2011 02:12:59 +0000 (12:12 +1000)]
Merge remote-tracking branch 'logfs/master'

Conflicts:
fs/logfs/logfs.h

13 years agoMerge remote-tracking branch 'jfs/next'
Stephen Rothwell [Tue, 26 Jul 2011 02:11:13 +0000 (12:11 +1000)]
Merge remote-tracking branch 'jfs/next'

13 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Tue, 26 Jul 2011 02:09:34 +0000 (12:09 +1000)]
Merge remote-tracking branch 'ext4/dev'

Conflicts:
fs/ext4/inode.c

13 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Tue, 26 Jul 2011 02:03:47 +0000 (12:03 +1000)]
Merge remote-tracking branch 'ext3/for_next'

Conflicts:
fs/ext3/fsync.c

13 years agoMerge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Tue, 26 Jul 2011 02:03:40 +0000 (12:03 +1000)]
Merge remote-tracking branch 'ecryptfs/next'

13 years agoMerge remote-tracking branch 'cifs/master'
Stephen Rothwell [Tue, 26 Jul 2011 02:02:18 +0000 (12:02 +1000)]
Merge remote-tracking branch 'cifs/master'

13 years agoMerge remote-tracking branch 'ceph/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 02:02:15 +0000 (12:02 +1000)]
Merge remote-tracking branch 'ceph/for-next'

Conflicts:
fs/ceph/export.c

13 years agoMerge remote-tracking branch 'xtensa/master'
Stephen Rothwell [Tue, 26 Jul 2011 02:00:53 +0000 (12:00 +1000)]
Merge remote-tracking branch 'xtensa/master'

Conflicts:
arch/xtensa/configs/iss_defconfig

13 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Tue, 26 Jul 2011 01:59:05 +0000 (11:59 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'

13 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Tue, 26 Jul 2011 01:57:51 +0000 (11:57 +1000)]
Merge remote-tracking branch 'tile/master'

13 years agoMerge remote-tracking branch 'rmobile/rmobile-latest'
Stephen Rothwell [Tue, 26 Jul 2011 01:56:38 +0000 (11:56 +1000)]
Merge remote-tracking branch 'rmobile/rmobile-latest'

13 years agoMerge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Tue, 26 Jul 2011 01:55:13 +0000 (11:55 +1000)]
Merge remote-tracking branch 'sh/sh-latest'

13 years agoMerge remote-tracking branch 'galak/next'
Stephen Rothwell [Tue, 26 Jul 2011 01:54:00 +0000 (11:54 +1000)]
Merge remote-tracking branch 'galak/next'

13 years agoMerge remote-tracking branch '52xx-and-virtex/powerpc/next'
Stephen Rothwell [Tue, 26 Jul 2011 01:52:40 +0000 (11:52 +1000)]
Merge remote-tracking branch '52xx-and-virtex/powerpc/next'

13 years agoMerge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Tue, 26 Jul 2011 01:49:53 +0000 (11:49 +1000)]
Merge remote-tracking branch 'powerpc/next'

Conflicts:
arch/powerpc/Kconfig
drivers/Kconfig
drivers/Makefile
drivers/cpufreq/Kconfig
drivers/cpufreq/Makefile

13 years agoMerge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:48:39 +0000 (11:48 +1000)]
Merge remote-tracking branch 'parisc/for-next'

13 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:47:16 +0000 (11:47 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

13 years agoMerge remote-tracking branch 'microblaze/next'
Stephen Rothwell [Tue, 26 Jul 2011 01:46:04 +0000 (11:46 +1000)]
Merge remote-tracking branch 'microblaze/next'

Conflicts:
arch/microblaze/pci/pci_32.c

13 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:37:59 +0000 (11:37 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

13 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:31:58 +0000 (11:31 +1000)]
Merge remote-tracking branch 'm68k/for-next'

13 years agoMerge remote-tracking branch 'ia64/test'
Stephen Rothwell [Tue, 26 Jul 2011 01:30:35 +0000 (11:30 +1000)]
Merge remote-tracking branch 'ia64/test'

13 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:29:17 +0000 (11:29 +1000)]
Merge remote-tracking branch 'cris/for-next'

13 years agoMerge remote-tracking branch 'ux500-core/ux500-core'
Stephen Rothwell [Tue, 26 Jul 2011 01:29:13 +0000 (11:29 +1000)]
Merge remote-tracking branch 'ux500-core/ux500-core'

13 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:28:00 +0000 (11:28 +1000)]
Merge remote-tracking branch 's5p/for-next'

Conflicts:
arch/arm/mach-exynos4/Kconfig
arch/arm/mach-exynos4/mach-smdkc210.c

13 years agoMerge remote-tracking branch 'msm/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:26:34 +0000 (11:26 +1000)]
Merge remote-tracking branch 'msm/for-next'

13 years agoMerge remote-tracking branch 'i.MX/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:26:30 +0000 (11:26 +1000)]
Merge remote-tracking branch 'i.MX/for-next'

Conflicts:
arch/arm/mach-imx/mach-mx27_3ds.c
arch/arm/mach-imx/mm-imx1.c
arch/arm/mach-imx/mm-imx21.c
arch/arm/mach-imx/mm-imx25.c
arch/arm/mach-imx/mm-imx27.c
arch/arm/mach-imx/mm-imx31.c
arch/arm/mach-imx/mm-imx35.c
arch/arm/mach-mx5/mm.c

13 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:24:52 +0000 (11:24 +1000)]
Merge remote-tracking branch 'arm-soc/for-next'

Conflicts:
arch/arm/mach-exynos4/pm.c
arch/microblaze/include/asm/pci-bridge.h

13 years agoMerge remote-tracking branch 'arm-lpae/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:23:25 +0000 (11:23 +1000)]
Merge remote-tracking branch 'arm-lpae/for-next'

Conflicts:
arch/arm/include/asm/pgalloc.h
arch/arm/include/asm/pgtable.h
arch/arm/include/asm/proc-fns.h
arch/arm/include/asm/tlb.h
arch/arm/mm/context.c
arch/arm/mm/proc-v7.S

13 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Tue, 26 Jul 2011 01:22:08 +0000 (11:22 +1000)]
Merge remote-tracking branch 'arm/for-next'

13 years agoMerge remote-tracking branch 'devicetree-current/devicetree/merge'
Stephen Rothwell [Tue, 26 Jul 2011 01:20:54 +0000 (11:20 +1000)]
Merge remote-tracking branch 'devicetree-current/devicetree/merge'

13 years agoMerge remote-tracking branch 'fbdev-current/fbdev-fixes-for-linus'
Stephen Rothwell [Tue, 26 Jul 2011 01:20:52 +0000 (11:20 +1000)]
Merge remote-tracking branch 'fbdev-current/fbdev-fixes-for-linus'

13 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Tue, 26 Jul 2011 01:20:36 +0000 (11:20 +1000)]
Merge remote-tracking branch 'input-current/for-linus'

13 years agoInitial EXPERIMENTAL implementation of device-mapper thin provisioning
Joe Thornber [Tue, 26 Jul 2011 00:38:15 +0000 (10:38 +1000)]
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>
13 years agoThe persistent-data library offers a re-usable framework for the storage
Joe Thornber [Tue, 26 Jul 2011 00:38:14 +0000 (10:38 +1000)]
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>