]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agopowerpc: Fix 8xx build failure
Kumar Gala [Sat, 26 Jul 2008 17:57:30 +0000 (03:57 +1000)]
powerpc: Fix 8xx build failure

The 'powerpc ioremap_prot' broke 8xx builds:

include2/asm/pgtable-ppc32.h:555: error: '_PAGE_WRITETHRU' undeclared (first use in this function)
include2/asm/pgtable-ppc32.h:555: error: (Each undeclared identifier is reported only once
include2/asm/pgtable-ppc32.h:555: error: for each function it appears in.)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
17 years agopowerpc: Fix vio build warnings
Nathan Lynch [Fri, 25 Jul 2008 23:06:17 +0000 (09:06 +1000)]
powerpc: Fix vio build warnings

arch/powerpc/kernel/vio.c:1034: warning: function declaration isnâ\80\99t a prototype
arch/powerpc/kernel/vio.c:1035: warning: function declaration isnâ\80\99t a prototype

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
17 years agopowerpc/booke: Clean up the hardware watchpoint support
Kumar Gala [Fri, 25 Jul 2008 19:27:33 +0000 (05:27 +1000)]
powerpc/booke: Clean up the hardware watchpoint support

* CONFIG_BOOKE is selected by CONFIG_44x so we dont need both
* Fixed a few comments
* Go back to only using DBCR0_IDM to determine if we are using
  debug resources.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
17 years agopowerpc: Removed duplicated include in stacktrace.c
Huang Weiyi [Wed, 23 Jul 2008 14:44:51 +0000 (00:44 +1000)]
powerpc: Removed duplicated include in stacktrace.c

Removed duplicated include file <linux/module.h> in
arch/powerpc/kernel/stacktrace.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
17 years agoMerge commit 'gcl/gcl-next'
Benjamin Herrenschmidt [Mon, 28 Jul 2008 06:30:40 +0000 (16:30 +1000)]
Merge commit 'gcl/gcl-next'

17 years agostop_machine: fix up ftrace.c
Rusty Russell [Mon, 28 Jul 2008 17:16:31 +0000 (12:16 -0500)]
stop_machine: fix up ftrace.c

Simple conversion.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Abhishek Sagar <sagar.abhishek@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>
17 years agostop_machine: Wean existing callers off stop_machine_run()
Rusty Russell [Mon, 28 Jul 2008 17:16:30 +0000 (12:16 -0500)]
stop_machine: Wean existing callers off stop_machine_run()

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
17 years agostop_machine(): stop_machine_run() changed to use cpu mask
Rusty Russell [Mon, 28 Jul 2008 17:16:30 +0000 (12:16 -0500)]
stop_machine(): stop_machine_run() changed to use cpu mask

Instead of a "cpu" arg with magic values NR_CPUS (any cpu) and ~0 (all
cpus), pass a cpumask_t.  Allow NULL for the common case (where we
don't care which CPU the function is run on): temporary cpumask_t's
are usually considered bad for stack space.

This deprecates stop_machine_run, to be removed soon when all the
callers are dead.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
17 years agoHotplug CPU: don't check cpu_online after take_cpu_down
Rusty Russell [Mon, 28 Jul 2008 17:16:29 +0000 (12:16 -0500)]
Hotplug CPU: don't check cpu_online after take_cpu_down

Akinobu points out that if take_cpu_down() succeeds, the cpu must be offline.
Remove the cpu_online() check, and put a BUG_ON().

Quoting Akinobu Mita:
   Actually the cpu_online() check was necessary before appling this
   stop_machine: simplify patch.

   With old __stop_machine_run(), __stop_machine_run() could succeed
   (return !IS_ERR(p) value) even if take_cpu_down() returned non-zero value.
   The return value of take_cpu_down() was obtained through kthread_stop()..

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Akinobu Mita" <akinobu.mita@gmail.com>
17 years agoSimplify stop_machine
Rusty Russell [Mon, 28 Jul 2008 17:16:28 +0000 (12:16 -0500)]
Simplify stop_machine

stop_machine creates a kthread which creates kernel threads.  We can
create those threads directly and simplify things a little.  Some care
must be taken with CPU hotunplug, which has special needs, but that code
seems more robust than it was in the past.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
17 years agostop_machine: add ALL_CPUS option
Jason Baron [Thu, 28 Feb 2008 16:33:03 +0000 (11:33 -0500)]
stop_machine: add ALL_CPUS option

-allow stop_mahcine_run() to call a function on all cpus. Calling
 stop_machine_run() with a 'ALL_CPUS' invokes this new behavior.
 stop_machine_run() proceeds as normal until the calling cpu has
 invoked 'fn'. Then, we tell all the other cpus to call 'fn'.

Signed-off-by: Jason Baron <jbaron@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
CC: Adrian Bunk <bunk@stusta.de>
CC: Andi Kleen <andi@firstfloor.org>
CC: Alexey Dobriyan <adobriyan@gmail.com>
CC: Christoph Hellwig <hch@infradead.org>
CC: mingo@elte.hu
CC: akpm@osdl.org
17 years agomodule: fix build warning with !CONFIG_KALLSYMS
WANG Cong [Thu, 24 Jul 2008 14:41:48 +0000 (15:41 +0100)]
module: fix build warning with !CONFIG_KALLSYMS

This patch fixed the warning:

  CC      kernel/module.o
  /home/wangcong/Projects/linux-2.6/kernel/module.c:332: warning:
‘lookup_symbol’ defined but not used

Signed-off-by: WANG Cong <wangcong@zeuux.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
17 years agoMerge ../linux-2.6
Mauro Carvalho Chehab [Mon, 28 Jul 2008 01:23:18 +0000 (22:23 -0300)]
Merge ../linux-2.6

17 years agosparc: Set CONFIG_HAVE_ARCH_TRACEHOOK
David S. Miller [Sun, 27 Jul 2008 10:53:32 +0000 (03:53 -0700)]
sparc: Set CONFIG_HAVE_ARCH_TRACEHOOK

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: Add task_pt_regs().
David S. Miller [Sun, 27 Jul 2008 10:43:51 +0000 (03:43 -0700)]
sparc: Add task_pt_regs().

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: Add call to tracehook_signal_handler().
David S. Miller [Sun, 27 Jul 2008 10:40:53 +0000 (03:40 -0700)]
sparc: Add call to tracehook_signal_handler().

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: Create and use TIF_NOTIFY_RESUME.
David S. Miller [Sun, 27 Jul 2008 10:38:53 +0000 (03:38 -0700)]
sparc: Create and use TIF_NOTIFY_RESUME.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: Use tracehook routines in syscall_trace().
David S. Miller [Sun, 27 Jul 2008 10:13:13 +0000 (03:13 -0700)]
sparc: Use tracehook routines in syscall_trace().

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc64: tracehook: CONFIG_HAVE_ARCH_TRACEHOOK
Roland McGrath [Mon, 21 Apr 2008 00:42:22 +0000 (17:42 -0700)]
sparc64: tracehook: CONFIG_HAVE_ARCH_TRACEHOOK

The sparc64 arch code has all the prerequisites, so set HAVE_ARCH_TRACEHOOK.

Signed-off-by: Roland McGrath <roland@redhat.com>
17 years agosparc: Add user_stack_pointer().
David S. Miller [Sun, 27 Jul 2008 08:59:21 +0000 (01:59 -0700)]
sparc: Add user_stack_pointer().

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc64: tracehook_signal_handler
Roland McGrath [Sun, 27 Jul 2008 08:08:02 +0000 (01:08 -0700)]
sparc64: tracehook_signal_handler

Call the standard hook after setting up signal handlers.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc64: tracehook: TIF_NOTIFY_RESUME
Roland McGrath [Sun, 20 Apr 2008 22:06:49 +0000 (15:06 -0700)]
sparc64: tracehook: TIF_NOTIFY_RESUME

This adds TIF_NOTIFY_RESUME support for sparc64.
When set, we call tracehook_notify_resume() on the way to user mode.

Signed-off-by: Roland McGrath <roland@redhat.com>
17 years agosparc: Add asm/syscall.h
David S. Miller [Sun, 27 Jul 2008 07:53:10 +0000 (00:53 -0700)]
sparc: Add asm/syscall.h

Based upon a patch by Roland McGrath.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc64: tracehook syscall
Roland McGrath [Sun, 27 Jul 2008 07:30:50 +0000 (00:30 -0700)]
sparc64: tracehook syscall

This changes sparc64 syscall tracing to use the new tracehook.h entry
points.

[ Add assembly changes to force an immediate -ENOSYS return from
  the system call when syscall_trace() returns non-zero at syscall
  entry.  -DaveM ]

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/sparc
David S. Miller [Mon, 28 Jul 2008 00:09:02 +0000 (17:09 -0700)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/sparc

17 years agoext4: Update documentation to remind users to update mke2fs.conf
Theodore Ts'o [Sun, 27 Jul 2008 23:59:21 +0000 (19:59 -0400)]
ext4: Update documentation to remind users to update mke2fs.conf

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: Fix small file fragmentation
Aneesh Kumar K.V [Mon, 18 Aug 2008 22:00:57 +0000 (18:00 -0400)]
ext4: Fix small file fragmentation

For small file block allocations, mballoc uses per cpu prealloc
space.  Use goal block when searching for the right prealloc
space.  Also make sure ext4_da_writepages tries to write
all the pages for small files in single attempt

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: Initialize writeback_index to 0 when allocating a new inode
Aneesh Kumar K.V [Wed, 20 Aug 2008 01:14:52 +0000 (21:14 -0400)]
ext4: Initialize writeback_index to 0 when allocating a new inode

The write_cache_pages() function uses the mapping->writeback_index as
the starting index to write out when range_cyclic is set.  Properly
initialize writeback_index so that we start the writeout at index 0.

This was found when debugging the small file fragmentation on ext4.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: make sure ext4_has_free_blocks returns 0 for ENOSPC
Aneesh Kumar K.V [Wed, 20 Aug 2008 01:16:54 +0000 (21:16 -0400)]
ext4: make sure ext4_has_free_blocks returns 0 for ENOSPC

Fix ext4_has_free_blocks() to return 0 when we don't have enough space.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: journal credit fix for the delayed allocation's writepages() function
Mingming Cao [Wed, 20 Aug 2008 02:15:58 +0000 (22:15 -0400)]
ext4: journal credit fix for the delayed allocation's writepages() function

Previous delalloc writepages implementation started a new transaction
outside of a loop which called get_block() to do the block allocation.
Since we didn't know exactly how many blocks would need to be allocated,
the estimated journal credits required was very conservative and caused
many issues.

With the reworked delayed allocation, a new transaction is created for
each get_block(), thus we don't need to guess how many credits for the
multiple chunk of allocation.  We start every transaction with enough
credits for inserting a single exent.  When estimate the credits for
indirect blocks to allocate a chunk of blocks, we need to know the
number of data blocks to allocate.  We use the total number of reserved
delalloc datablocks; if that is too big, for non-extent files, we need
to limit the number of blocks to EXT4_MAX_TRANS_BLOCKS.

Code cleanup from Aneesh.

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Reviewed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: Rework the ext4_da_writepages() function
Aneesh Kumar K.V [Wed, 20 Aug 2008 01:55:02 +0000 (21:55 -0400)]
ext4: Rework the ext4_da_writepages() function

With the below changes we reserve credit needed to insert only one
extent resulting from a call to single get_block.  This makes sure we
don't take too much journal credits during writeout.  We also don't
limit the pages to write.  That means we loop through the dirty pages
building largest possible contiguous block request.  Then we issue a
single get_block request.  We may get less block that we requested.  If
so we would end up not mapping some of the buffer_heads.  That means
those buffer_heads are still marked delay.  Later in the writepage
callback via __mpage_writepage we redirty those pages.

We should also not limit/throttle wbc->nr_to_write in the filesystem
writepages callback. That cause wrong behaviour in
generic_sync_sb_inodes caused by wbc->nr_to_write being <= 0

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Reviewed-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: journal credits reservation fixes for DIO, fallocate
Mingming Cao [Wed, 20 Aug 2008 02:16:03 +0000 (22:16 -0400)]
ext4: journal credits reservation fixes for DIO, fallocate

DIO and fallocate credit calculation is different than writepage, as
they do start a new journal right for each call to ext4_get_blocks_wrap().
This patch uses the helper function in DIO and fallocate case, passing
a flag indicating that the modified data are contigous thus could account
less indirect/index blocks.

This patch also fixed the journal credit reservation for direct I/O
(DIO).  Previously the estimated credits for DIO only was calculated for
non-extent files, which was not enough if the file is extent-based.

Also fixed was fallocate double-counting credits for modifying the the
superblock.

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: journal credits reservation fixes for extent file writepage
Mingming Cao [Wed, 20 Aug 2008 02:16:05 +0000 (22:16 -0400)]
ext4: journal credits reservation fixes for extent file writepage

This patch modified the writepage/write_begin credit calculation for
extent files, to use the credits caculation helper function.

The current calculation of how many index/leaf blocks should be
accounted is too conservetive, it always considered the worse case,
where the tree level is 5, and in the case of multiple chunk
allocations, it always assumed no blocks were dirtied in common across
the allocations. This path uses the accurate depth of the inode with
some extras to calculate the index blocks, and also less conservative in
the case of multiple allocation accounting.

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: journal credits calulation cleanup and fix for non-extent writepage
Mingming Cao [Wed, 20 Aug 2008 02:16:07 +0000 (22:16 -0400)]
ext4: journal credits calulation cleanup and fix for non-extent writepage

When considering how many journal credits are needed for modifying a
chunk of data, we need to account for the super block, inode block,
quota blocks and xattr block, indirect/index blocks, also, group bitmap
and group descriptor blocks for new allocation (including data and
indirect/index blocks). There are many places in ext4 do the calculation
on their own and often missed one or two meta blocks, and often they
assume single block allocation, and did not considering the multile
chunk of allocation case.

This patch is trying to cleanup current journal credit code, provides
some common helper funtion to calculate the journal credits, to be used
for writepage, writepages, DIO, fallocate, migration, defrag, and for
both nonextent and extent files.

This patch modified the writepage/write_begin credit caculation for
nonextent files, to use the new helper function. It also fixed the
problem that writepage on nonextent files did not consider the case
blocksize <pagesize, thus could possibelly need multiple block
allocation in a single transaction.

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: Fix bug where we return ENOSPC even though we have plenty of inodes
Eric Sandeen [Wed, 20 Aug 2008 02:19:50 +0000 (22:19 -0400)]
ext4: Fix bug where we return ENOSPC even though we have plenty of inodes

The find_group_flex() function starts with best_flex as the
parent_fbg_group, which happens to have 0 inodes free.  Some of the
flex groups searched have free blocks and free inodes, but the
flex_freeb_ratio is < 10, so they're skipped.  Then when a group is
compared to the current "best" flex group, it does not have more free
blocks than "best", so it is skipped as well.

This continues until no flex group with free inodes is found which has
a proper ratio or which has more free blocks than the "best" group,
and we're left with a "best" group that has 0 inodes free, and we
return -ENOSPC.

We fix this by changing the logic so that if the current "best" flex
group has no inodes free, and the current one does have room, it is
promoted to the next "best."

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: don't try to resize if there are no reserved gdt blocks left
Josef Bacik [Wed, 20 Aug 2008 02:13:41 +0000 (22:13 -0400)]
ext4: don't try to resize if there are no reserved gdt blocks left

When trying to resize an ext4 fs and you run out of reserved gdt blocks,
you get an error that doesn't actually tell you what went wrong, it just
says that the gdb it picked is not correct, which is the case since you
don't have any reserved gdt blocks left.  This patch adds a check to make
sure you have reserved gdt blocks to use, and if not prints out a more
relevant error.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
Cc: <linux-ext4@vger.kernel.org>
Cc: Andreas Dilger <adilger@sun.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: Use ext4_discard_reservations instead of mballoc-specific call
Theodore Ts'o [Sat, 16 Aug 2008 11:57:35 +0000 (07:57 -0400)]
ext4: Use ext4_discard_reservations instead of mballoc-specific call

In ext4_ext_truncate(), we should use the more generic
ext4_discard_reservations() call so we do the right thing when the
filesystem is mounted with the nomballoc option.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Mingming Cao <cmm@us.ibm.com>
17 years agoext4: Fix ext4_dx_readdir hash collision handling
Theodore Ts'o [Wed, 20 Aug 2008 01:57:43 +0000 (21:57 -0400)]
ext4: Fix ext4_dx_readdir hash collision handling

This fixes a bug where readdir() would return a directory entry twice
if there was a hash collision in an hash tree indexed directory.

Signed-off-by: Eugene Dashevsky <eugene@ibrix.com>
Signed-off-by: Mike Snitzer <msnitzer@ibrix.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: Fix delalloc release block reservation for truncate
Mingming Cao [Wed, 20 Aug 2008 02:16:59 +0000 (22:16 -0400)]
ext4: Fix delalloc release block reservation for truncate

Ext4 will release the reserved blocks for delayed allocations when
inode is truncated/unlinked.  If there is no reserved block at all, we
shouldn't need to do so.  But current code still tries to release the
reserved blocks regardless whether the counters's value is 0.
Continue to do that causes the later calculation to go wrong and a
kernel BUG_ON() caught that. This doesn't happen for extent-based
files, as the calculation for 0 reserved blocks was right for extent
based file.

This patch fixed the kernel BUG() due to above reason.  It adds checks
for 0 to avoid unnecessary release and fix calculation for non-extent
files.

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: Fix potential truncate BUG due to i_prealloc_list being non-empty
Theodore Ts'o [Thu, 14 Aug 2008 01:44:34 +0000 (21:44 -0400)]
ext4: Fix potential truncate BUG due to i_prealloc_list being non-empty

We need to call ext4_discard_reservation() earlier in ext4_truncate(),
to avoid a BUG() in ext4_mb_return_to_preallocation(), which is called
(ultimately) by ext4_free_blocks().  So we must ditch the blocks on
i_prealloc_list before we start freeing the data blocks.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4: Handle unwritten extent properly with delayed allocation
Aneesh Kumar K.V [Wed, 20 Aug 2008 02:16:43 +0000 (22:16 -0400)]
ext4: Handle unwritten extent properly with delayed allocation

When using fallocate the buffer_heads are marked unwritten and unmapped.
We need to map them in the writepages after a get_block.  Otherwise we
split the uninit extents, but never write the content to disk.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
David S. Miller [Sun, 27 Jul 2008 23:51:21 +0000 (16:51 -0700)]
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6

17 years agoMerge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
Linus Torvalds [Sun, 27 Jul 2008 23:47:55 +0000 (16:47 -0700)]
Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6

* 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
  NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode
  nfs_remount oops when rebooting + possible fix

17 years agoMerge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux...
Linus Torvalds [Sun, 27 Jul 2008 23:46:51 +0000 (16:46 -0700)]
Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip

* 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:
  x86: fix cpu hotplug on 32bit

17 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Sun, 27 Jul 2008 23:46:08 +0000 (16:46 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] Fix shared mmap when more than two maps of the same file exist
  [ARM] fix VIPT/VIVT macro optimisations, add comments
  [ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_*
  [ARM] update defconfig for eseries.
  [ARM] PXA: squash warning in pxafb
  [ARM] pxa: PXA25x UDC - Fix warning during build
  [ARM] fix nwflash.c: 6ee8928d94841aa764aeaf645ad16daff811dc26
  [ARM] fix IOP32x, IOP33x, MXC and Samsung builds
  [ARM] pci: provide dummy pci_get_legacy_ide_irq()
  [ARM] fix fls() for 64-bit arguments
  [ARM] fix mode for board-yl-9200.c
  [ARM] 5176/1: arm/Makefile: fix: ARM946T -> ARM946E

17 years agotask IO accounting: move all IO statistics in struct task_io_accounting
Andrea Righi [Sun, 27 Jul 2008 22:48:12 +0000 (00:48 +0200)]
task IO accounting: move all IO statistics in struct task_io_accounting

Simplify the code of include/linux/task_io_accounting.h.

It is also more reasonable to have all the task i/o-related statistics in a
single struct (task_io_accounting).

Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoV4L/DVB (8549): mxl5007: Fix an error at include file
Mauro Carvalho Chehab [Sun, 27 Jul 2008 22:30:46 +0000 (19:30 -0300)]
V4L/DVB (8549): mxl5007: Fix an error at include file

mxl5007 was forcing for its compilation:

In file included from drivers/media/common/tuners/mxl5007t.c:25:drivers/media/common/tuners/mxl5007t.h:80:1: warning: "CONFIG_MEDIA_TUNER_MXL5007T" redefined
In file included from <command-line>:0:
./include/linux/autoconf.h:2782:1: warning: this is the location of the previous definition

Probably, some temporary hack for testing.

Cc: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoNFS: Ensure we call nfs_sb_deactive() after releasing the directory inode
Trond Myklebust [Sun, 27 Jul 2008 22:03:19 +0000 (18:03 -0400)]
NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode

In order to avoid the "Busy inodes after unmount" error message, we need to
ensure that nfs_async_unlink_release() releases the super block after the
call to nfs_free_unlinkdata().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agonfs_remount oops when rebooting + possible fix
Marc Zyngier [Thu, 17 Jul 2008 11:21:55 +0000 (13:21 +0200)]
nfs_remount oops when rebooting + possible fix

Jeff, Trond,

The commit

48b605f83c920d8daa50e43fc2c7f718e04c7bfa (NFS: implement option checking
when remounting NFS filesystems (resend))

generate an Oops on my platform when rebooting while its root FS on
an NFS share (NFSv3, TCP) :

Unmounting local filesystems...done.
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c3d00000
[00000000] *pgd=a3d72031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core
CPU: 0    Not tainted  (2.6.26-03414-g33af79d-dirty #15)
PC is at nfs_remount+0x40/0x264
LR is at do_remount_sb+0x158/0x194
pc : [<c00bbf54>]    lr : [<c0076c40>]    psr: 60000013
sp : c2dd1e70  ip : c2dd1e98  fp : c2dd1e94
r10: 00000040  r9 : c3d17000  r8 : c3c3fc40
r7 : 00000000  r6 : 00000000  r5 : c3d2b200  r4 : 00000000
r3 : 00000003  r2 : 00000000  r1 : c2dd1e9c  r0 : c3c3fc00
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0000397f  Table: a3d00000  DAC: 00000015
Process mount (pid: 1462, stack limit = 0xc2dd0270)
Stack: (0xc2dd1e70 to 0xc2dd2000)
1e60:                                     00000000 c3c3fc00 00000000 00000000
1e80: c3c3fc40 c3d17000 c2dd1ebc c2dd1e98 c0076c40 c00bbf20 c01c61e4 00000001
1ea0: c2dd1ebc 00000001 c3c3fc00 c2dd1ef0 c2dd1ee4 c2dd1ec0 c008c6d8 c0076af4
1ec0: 00000021 00000040 c2dd1ef0 c3d77000 c3eaa000 00000000 c2dd1f6c c2dd1ee8
1ee0: c008d1bc c008c5f8 00000000 c2dd0000 c3c0c320 c3805b38 c002064c 0001f820
1f00: 0001f810 00000001 00000001 00000000 c2dd0000 00000000 c2dd1f34 c2dd1f28
1f20: c005ead8 c005e6f8 c2dd1f44 c2dd1f38 c005eaf8 c005ead0 c2dd1f6c c2dd1f48
1f40: c008ae3c 00000000 c3d77000 0001f810 c0ed0021 c0020ca8 c2dd0000 00000000
1f60: c2dd1fa4 c2dd1f70 c008d2d4 c008d0bc 00000000 0001f810 c2dd1f9c c3eaa000
1f80: c3d17000 00000000 00000000 be8b6aa8 be8b6ad0 00000015 00000000 c2dd1fa8
1fa0: c0020b00 c008d254 00000000 be8b6aa8 0001f810 0001f820 0001f830 c0ed0021
1fc0: 00000000 be8b6aa8 be8b6ad0 00000015 00000000 be8b6ad0 0001f810 be8b6aa8
1fe0: 0001f810 be8b6964 0000aab8 40125124 60000010 0001f810 00000000 00000000
Backtrace:
[<c00bbf14>] (nfs_remount+0x0/0x264) from [<c0076c40>] (do_remount_sb+0x158/0x194)
  r9:c3d17000 r8:c3c3fc40 r7:00000000 r6:00000000 r5:c3c3fc00
r4:00000000
[<c0076ae8>] (do_remount_sb+0x0/0x194) from [<c008c6d8>] (do_remount+0xec/0x118)
  r6:c2dd1ef0 r5:c3c3fc00 r4:00000001
[<c008c5ec>] (do_remount+0x0/0x118) from [<c008d1bc>] (do_mount+0x10c/0x198)
[<c008d0b0>] (do_mount+0x0/0x198) from [<c008d2d4>] (sys_mount+0x8c/0xd4)
[<c008d248>] (sys_mount+0x0/0xd4) from [<c0020b00>] (ret_fast_syscall+0x0/0x2c)
  r7:00000015 r6:be8b6ad0 r5:be8b6aa8 r4:00000000
Code: 0a000086 ea000006 e3530003 8a000004 (e5923000)
---[ end trace 55e1b689cf8c8a6a ]---
------------[ cut here ]------------
WARNING: at kernel/exit.c:966 do_exit+0x3c/0x628()
Modules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core
[<c0025168>] (dump_stack+0x0/0x14) from [<c0032154>] (warn_on_slowpath+0x4c/0x68)
[<c0032108>] (warn_on_slowpath+0x0/0x68) from [<c003531c>] (do_exit+0x3c/0x628)
  r6:0000000b r5:c3c3dc80 r4:c2dd0000
[<c00352e0>] (do_exit+0x0/0x628) from [<c0025004>] (die+0x2b0/0x30c)
[<c0024d54>] (die+0x0/0x30c) from [<c00270bc>] (__do_kernel_fault+0x6c/0x80)
[<c0027050>] (__do_kernel_fault+0x0/0x80) from [<c00272e0>] (do_page_fault+0x210/0x230)
  r7:c3fa7118 r6:c3c3dc80 r5:c3d166a8 r4:00010000
[<c00270d0>] (do_page_fault+0x0/0x230) from [<c00201ec>] (do_DataAbort+0x3c/0xa0)
[<c00201b0>] (do_DataAbort+0x0/0xa0) from [<c002064c>] (__dabt_svc+0x4c/0x60)
Exception stack(0xc2dd1e28 to 0xc2dd1e70)
1e20:                   c3c3fc00 c2dd1e9c 00000000 00000003 00000000 c3d2b200
1e40: 00000000 00000000 c3c3fc40 c3d17000 00000040 c2dd1e94 c2dd1e98 c2dd1e70
1e60: c0076c40 c00bbf54 60000013 ffffffff
  r8:c3c3fc40 r7:00000000 r6:00000000 r5:c2dd1e5c r4:ffffffff
[<c00bbf14>] (nfs_remount+0x0/0x264) from [<c0076c40>] (do_remount_sb+0x158/0x194)
  r9:c3d17000 r8:c3c3fc40 r7:00000000 r6:00000000 r5:c3c3fc00
r4:00000000
[<c0076ae8>] (do_remount_sb+0x0/0x194) from [<c008c6d8>] (do_remount+0xec/0x118)
  r6:c2dd1ef0 r5:c3c3fc00 r4:00000001
[<c008c5ec>] (do_remount+0x0/0x118) from [<c008d1bc>] (do_mount+0x10c/0x198)
[<c008d0b0>] (do_mount+0x0/0x198) from [<c008d2d4>] (sys_mount+0x8c/0xd4)
[<c008d248>] (sys_mount+0x0/0xd4) from [<c0020b00>] (ret_fast_syscall+0x0/0x2c)
  r7:00000015 r6:be8b6ad0 r5:be8b6aa8 r4:00000000
---[ end trace 55e1b689cf8c8a6a ]---
/etc/rc6.d/S60umountroot: line 17:  1462 Segmentation fault      mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2> /dev/null

The new super.c:nfs_remount function doesn't check the validity of the
options/options4 pointers. Unfortunately, this seems to happend.
The obvious patch seems to check the pointers, and not to do anything if
the happend to be NULL.

Tested on an XScale PXA255 system, latest git.

Regards,

M.

Signed-off-by: Marc Zyngier <marc.zyngier@altran.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
17 years agoV4L/DVB (8548): pwc: Fix compilation
Mauro Carvalho Chehab [Sun, 27 Jul 2008 22:02:30 +0000 (19:02 -0300)]
V4L/DVB (8548): pwc: Fix compilation

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8546): add tuner-3036 and dpc7146 drivers to feature-removal-schedule.txt
Hans Verkuil [Sun, 27 Jul 2008 17:08:54 +0000 (14:08 -0300)]
V4L/DVB (8546): add tuner-3036 and dpc7146 drivers to feature-removal-schedule.txt

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoMerge branch 'timers/urgent' of ssh://master.kernel.org/pub/scm/linux/kernel/git...
Ingo Molnar [Sun, 27 Jul 2008 21:15:26 +0000 (23:15 +0200)]
Merge branch 'timers/urgent' of ssh://master.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into timers/urgent

17 years agoMerge ../linux-2.6
Mauro Carvalho Chehab [Sun, 27 Jul 2008 21:11:53 +0000 (18:11 -0300)]
Merge ../linux-2.6

17 years agoV4L/DVB (8546): saa7146: fix read from uninitialized memory
Hans Verkuil [Sun, 27 Jul 2008 17:08:54 +0000 (14:08 -0300)]
V4L/DVB (8546): saa7146: fix read from uninitialized memory

The offset field of the scatterlist entry *after* the last valid scatterlist
entry was used instead of the first scatterlist entry (as was the intention
of this code).

This worked fine until the kzalloc of the sglist was replaced with kmalloc
and sg_init_table only zeroed the exact needed length. Apparently kzalloc
zeroes a bit more than is strictly necessary so the offset field was
always 0 in the past.

But now the offset field was suddenly random and this led to broken captures.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8544): gspca: probe/open race.
Oliver Neukum [Sun, 27 Jul 2008 17:01:59 +0000 (14:01 -0300)]
V4L/DVB (8544): gspca: probe/open race.

The device is flagged present after it is registered. During that window calls
to open() that should work fail with -ENODEV. Reversing the order fixes
the race.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Acked-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8543): em28xx: Rename #define for Compro VideoMate ForYou/Stereo
Mauro Carvalho Chehab [Sun, 27 Jul 2008 19:58:04 +0000 (16:58 -0300)]
V4L/DVB (8543): em28xx: Rename #define for Compro VideoMate ForYou/Stereo

There are two videomate boards supporded by em28xx. The names are almost
identical.
This patch renames one of such entries to something else.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8542): em28xx: AMD ATI TV Wonder HD 600 entry at cards struct is duplicated
Mauro Carvalho Chehab [Sun, 27 Jul 2008 18:00:23 +0000 (15:00 -0300)]
V4L/DVB (8542): em28xx: AMD ATI TV Wonder HD 600 entry at cards struct is duplicated

Thanks to "Devin Heitmueller" <devin.heitmueller@gmail.com> for pointing this
issue.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8541): em28xx: HVR-950 entry is duplicated.
Mauro Carvalho Chehab [Sun, 27 Jul 2008 17:58:58 +0000 (14:58 -0300)]
V4L/DVB (8541): em28xx: HVR-950 entry is duplicated.

Thanks to "Devin Heitmueller" <devin.heitmueller@gmail.com> for pointing this
issue.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agosparc: enable headers_export again
Sam Ravnborg [Sat, 26 Jul 2008 21:20:48 +0000 (23:20 +0200)]
sparc: enable headers_export again

Update include/asm/Kbuild so we export
all relvant headers for sparc.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
17 years agosparc, sparc64: use arch/sparc/include
Sam Ravnborg [Sun, 27 Jul 2008 21:00:59 +0000 (23:00 +0200)]
sparc, sparc64: use arch/sparc/include

The majority of this patch was created by the following script:

***
ASM=arch/sparc/include/asm
mkdir -p $ASM
git mv include/asm-sparc64/ftrace.h $ASM
git rm include/asm-sparc64/*
git mv include/asm-sparc/* $ASM
sed -ie 's/asm-sparc64/asm/g' $ASM/*
sed -ie 's/asm-sparc/asm/g' $ASM/*
***

The rest was an update of the top-level Makefile to use sparc
for header files when sparc64 is being build.
And a small fixlet to pick up the correct unistd.h from
sparc64 code.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
17 years agox86: fix cpu hotplug on 32bit
Thomas Gleixner [Sun, 27 Jul 2008 19:43:11 +0000 (21:43 +0200)]
x86: fix cpu hotplug on 32bit

commit 3e9704739daf46a8ba6593d749c67b5f7cd633d2 ("x86: boot secondary
cpus through initial_code") causes the kernel to crash when a CPU is
brought online after the read only sections have been write
protected. The write to initial_code in do_boot_cpu() fails.

Move inital_code to .cpuinit.data section.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: H. Peter Anvin <hpa@zytor.com>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
Linus Torvalds [Sun, 27 Jul 2008 17:24:06 +0000 (10:24 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  firewire: state userland requirements in Kconfig help
  firewire: avoid memleak after phy config transmit failure
  firewire: fw-ohci: TSB43AB22/A dualbuffer workaround
  firewire: queue the right number of data
  firewire: warn on unfinished transactions during card removal
  firewire: small fw_fill_request cleanup
  firewire: fully initialize fw_transaction before marking it pending
  firewire: fix race of bus reset with request transmission

17 years agoV4L/DVB (8540): em28xx-cards: Add Compro VideoMate ForYou/Stereo model
Vitaly Wool [Sun, 27 Jul 2008 17:10:11 +0000 (14:10 -0300)]
V4L/DVB (8540): em28xx-cards: Add Compro VideoMate ForYou/Stereo model

Added Compro VideoMate ForYou/Stereo model (analog only)

Signed-off-by: Vitaly Wool <vital@embeddedalley.com>
[dougsland@gmail.com: Solved conflicts with v4l-dvb devel tree]
Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
[mchehab@infradead.org: Need to fix some merge conflicts]
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8539): em28xx-cards: New supported IDs for analog models
Douglas Schilling Landgraf [Sun, 27 Jul 2008 17:03:32 +0000 (14:03 -0300)]
V4L/DVB (8539): em28xx-cards: New supported IDs for analog models

- New supported IDs for analog models
  (Based on Markus Rechberger <mrechberger@gmail.com> version of em28xx driver)

- Validation field for new em28xx boards.

Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
[mchehab@infradead.org: Need to fix some merge conflicts]
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8538): em28xx-cards: Add GrabBeeX+ USB2800 model
Aron Szabo [Sun, 27 Jul 2008 16:47:52 +0000 (13:47 -0300)]
V4L/DVB (8538): em28xx-cards: Add GrabBeeX+ USB2800 model

Added GrabBeeX+ USB2800 model (analog only)

[mchehab@infradead.org: Need to fix some merge conflicts]
Signed-off-by: Aron Szabo <aron@aron.ws>
Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Linus Torvalds [Sun, 27 Jul 2008 17:04:52 +0000 (10:04 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (59 commits)
  [SCSI] replace __FUNCTION__ with __func__
  [SCSI] extend the last_sector_bug flag to cover more sectors
  [SCSI] qla2xxx: Update version number to 8.02.01-k6.
  [SCSI] qla2xxx: Additional NPIV corrections.
  [SCSI] qla2xxx: suppress uninitialized-var warning
  [SCSI] qla2xxx: use memory_read_from_buffer()
  [SCSI] qla2xxx: Issue proper ISP callbacks during stop-firmware.
  [SCSI] ch: fix ch_remove oops
  [SCSI] 3w-9xxx: add MSI support and misc fixes
  [SCSI] scsi_lib: use blk_rq_tagged in scsi_request_fn
  [SCSI] ibmvfc: Update driver version to 1.0.1
  [SCSI] ibmvfc: Add ADISC support
  [SCSI] ibmvfc: Miscellaneous fixes
  [SCSI] ibmvfc: Fix hang on module removal
  [SCSI] ibmvfc: Target refcounting fixes
  [SCSI] ibmvfc: Reduce unnecessary log noise
  [SCSI] sym53c8xx: free luntbl in sym_hcb_free
  [SCSI] scsi_scan.c: Release mutex in error handling code
  [SCSI] scsi_eh_prep_cmnd should save scmd->underflow
  [SCSI] sd: Support for SCSI disk (SBC) Data Integrity Field
  ...

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
Linus Torvalds [Sun, 27 Jul 2008 17:03:00 +0000 (10:03 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
  avr32: some mmc/sd cleanups
  include/video/atmel_lcdc.h must #include <linux/workqueue.h>
  avr32: allow system timer to share interrupt to make OProfile work
  drivers/misc/atmel-ssc.c: Removed duplicated include
  avr32: Add platform data for AC97C platform device
  avr32: clean up mci platform code
  fix avr32 build errors

17 years agoMerge branch 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 27 Jul 2008 17:00:23 +0000 (10:00 -0700)]
Merge branch 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm

* 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:
  KVM: ppc: fix invalidation of large guest pages
  KVM: s390: Fix possible host kernel bug on lctl(g) handling
  KVM: s390: Fix instruction naming for lctlg
  KVM: s390: Fix program check on interrupt delivery handling
  KVM: s390: Change guestaddr type in gaccess
  KVM: s390: Fix guest kconfig
  KVM: s390: Advertise KVM_CAP_USER_MEMORY
  KVM: ia64: Fix irq disabling leak in error handling code
  KVM: VMX: Fix undefined beaviour of EPT after reload kvm-intel.ko
  KVM: VMX: Fix bypass_guest_pf enabling when disable EPT in module parameter
  KVM: task switch: translate guest segment limit to virt-extension byte granular field
  KVM: Avoid instruction emulation when event delivery is pending
  KVM: task switch: use seg regs provided by subarch instead of reading from GDT
  KVM: task switch: segment base is linear address
  KVM: SVM: allow enabling/disabling NPT by reloading only the architecture module

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next
Linus Torvalds [Sun, 27 Jul 2008 16:59:59 +0000 (09:59 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next

* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits)
  setlocalversion: do not describe if there is nothing to describe
  kconfig: fix typos: "Suport" -> "Support"
  kconfig: make defconfig is no longer chatty
  kconfig: make oldconfig is now less chatty
  kconfig: speed up all*config + randconfig
  kconfig: set all new symbols automatically
  kconfig: add diffconfig utility
  kbuild: remove Module.markers during mrproper
  kbuild: sparse needs CF not CHECKFLAGS
  kernel-doc: handle/strip __init
  vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section
  init: fix URL of "The GNU Accounting Utilities"
  kbuild: add arch/$ARCH/include to search path
  kbuild: asm symlink support for arch/$ARCH/include
  kbuild: support arch/$ARCH/include for tags, cscope
  kbuild: prepare headers_* for arch/$ARCH/include
  kbuild: install all headers when arch is changed
  kbuild: make clean removes *.o.* as well
  kbuild: optimize headers_* targets
  kbuild: only one call for include/ in make headers_*
  ...

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Sun, 27 Jul 2008 16:59:24 +0000 (09:59 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  crypto: talitos - sparse fix
  crypto: talitos - Stop leaking memory in error path
  crypto: talitos - Fix GFP flag usage
  crypto: talitos - Preempt overflow interrupts
  crypto: talitos - Correct dst != src case handling
  crypto: talitos - Remove calls to of_node_put

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6
Linus Torvalds [Sun, 27 Jul 2008 16:58:59 +0000 (09:58 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6:
  Fix namespace issue with Hisax

17 years agoisdn: mISDN HFC PCI support depends on virt_to_bus()
Stephen Rothwell [Sun, 27 Jul 2008 16:37:32 +0000 (02:37 +1000)]
isdn: mISDN HFC PCI support depends on virt_to_bus()

On powerpc (allyesconfig build) we get this error:

drivers/isdn/hardware/mISDN/hfcpci.c:1991: error: implicit declaration of function 'virt_to_bus'

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agotask IO accounting: improve code readability
Andrea Righi [Sun, 27 Jul 2008 15:29:15 +0000 (17:29 +0200)]
task IO accounting: improve code readability

Put all i/o statistics in struct proc_io_accounting and use inline functions to
initialize and increment statistics, removing a lot of single variable
assignments.

This also reduces the kernel size as following (with CONFIG_TASK_XACCT=y and
CONFIG_TASK_IO_ACCOUNTING=y).

    text    data     bss     dec     hex filename
   11651       0       0   11651    2d83 kernel/exit.o.before
   11619       0       0   11619    2d63 kernel/exit.o.after
   10886     132     136   11154    2b92 kernel/fork.o.before
   10758     132     136   11026    2b12 kernel/fork.o.after

 3082029  807968 4818600 8708597  84e1f5 vmlinux.o.before
 3081869  807968 4818600 8708437  84e155 vmlinux.o.after

Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Acked-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agotracing: remove unused variable
Andrea Righi [Sun, 27 Jul 2008 11:39:03 +0000 (13:39 +0200)]
tracing: remove unused variable

Remove the following warning with CONFIG_TRACING=y:

kernel/trace/trace.c: In function ‘s_next’:
kernel/trace/trace.c:1186: warning: unused variable ‘last_ent’

Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Sun, 27 Jul 2008 16:45:59 +0000 (09:45 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel).
  ALSA: cs4232: fix crash during chip PNP detection
  ALSA: hda - Add automatic model setting for the Acer Aspire 5920G laptop
  ALSA: make snd_ac97_add_vmaster() static
  ALSA: sound/pci/azt3328.h: no variables for enums
  ALSA: soc - wm9712 mono mixer
  ALSA: hda - Add support of ASUS Eeepc P90*
  ALSA: opti9xx: no isapnp param for !CONFIG_PNP
  ALSA: opti93x - Fix NULL dereference
  ALSA: hda - Added support for Asus V1Sn
  ALSA: ASoC: Factor PGA DAPM handling into main
  ALSA: ASoC: Refactor DAPM event handler
  ALSA: ALSA: ens1370: communicate PCI device to AC97
  ALSA: ens1370: SRC stands for Sample Rate Converter
  ALSA: hda - Align BDL position adjustment parameter
  ALSA: Au1xpsc: psc not disabled when TX is idle
  ALSA: add TriTech 28023 AC97 codec ID and Wolfson 9701 name.

17 years agomissing bits of net-namespace / sysctl
Al Viro [Sun, 27 Jul 2008 07:59:33 +0000 (08:59 +0100)]
missing bits of net-namespace / sysctl

Piss-poor sysctl registration API strikes again, film at 11...

What we really need is _pathname_ required to be present in already
registered table, so that kernel could warn about bad order.  That's the
next target for sysctl stuff (and generally saner and more explicit
order of initialization of ipv[46] internals wouldn't hurt either).

For the time being, here are full fixups required by ..._rotable()
stuff; we make per-net sysctl sets descendents of "ro" one and make sure
that sufficient skeleton is there before we start registering per-net
sysctls.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agolost sysctl fix
Al Viro [Sun, 27 Jul 2008 05:31:22 +0000 (06:31 +0100)]
lost sysctl fix

try_attach() should walk into the matching subdirectory, not the first one...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Tested-by: Valdis.Kletnieks@vt.edu
Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix namespace issue with Hisax
Karsten Keil [Sun, 27 Jul 2008 16:32:50 +0000 (18:32 +0200)]
Fix namespace issue with Hisax

you can pull this  git://git./linux/kernel/git/kkeil/ISDN-2.6 master

rename release_tei() to TEIrelease() because release_tei() was
already exported bei the old HiSax driver.

Signed-off-by: Karsten Keil <kkeil@suse.de>
17 years agoMerge ../linux-2.6
Mauro Carvalho Chehab [Sun, 27 Jul 2008 15:25:57 +0000 (12:25 -0300)]
Merge ../linux-2.6

17 years agoV4L/DVB (8534): remove select's of FW_LOADER
Adrian Bunk [Sun, 27 Jul 2008 13:04:55 +0000 (10:04 -0300)]
V4L/DVB (8534): remove select's of FW_LOADER

After commit d9b19199e4894089456aaad295023263b5225c1a
(always enable FW_LOADER unless EMBEDDED=y) we can remove
the FW_LOADER select's and corresponding dependencies
on HOTPLUG.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8522): videodev2: Fix merge conflict
Mauro Carvalho Chehab [Sun, 27 Jul 2008 11:55:17 +0000 (08:55 -0300)]
V4L/DVB (8522): videodev2: Fix merge conflict

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years ago[SCSI] replace __FUNCTION__ with __func__
Harvey Harrison [Fri, 4 Jul 2008 06:47:27 +0000 (23:47 -0700)]
[SCSI] replace __FUNCTION__ with __func__

[jejb: fixed up a ton of missed conversions.

 All of you are on notice this has happened, driver trees will now
 need to be rebased]

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Cc: SCSI List <linux-scsi@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years ago[SCSI] extend the last_sector_bug flag to cover more sectors
Alan Jenkins [Sun, 27 Jul 2008 08:38:42 +0000 (09:38 +0100)]
[SCSI] extend the last_sector_bug flag to cover more sectors

The last_sector_bug flag was added to work around a bug in certain usb
cardreaders, where they would crash if a multiple sector read included the
last sector. The original implementation avoids this by e.g. splitting an 8
sector read which includes the last sector into a 7 sector read, and a single
sector read for the last sector.  The flag is enabled for all USB devices.

This revealed a second bug in other usb cardreaders, which crash when they
get a multiple sector read which stops 1 sector short of the last sector.
Affected hardware includes the Kingston "MobileLite" external USB cardreader
and the internal USB cardreader on the Asus EeePC.

Extend the last_sector_bug workaround to ensure that any access which touches
the last 8 hardware sectors of the device is a single sector long.  Requests
are shrunk as necessary to meet this constraint.

This gives us a safety margin against potential unknown or future bugs
affecting multi-sector access to the end of the device.  The two known bugs
only affect the last 2 sectors.  However, they suggest that these devices
are prone to fencepost errors and that multi-sector access to the end of the
device is not well tested.  Popular OS's use multi-sector accesses, but they
rarely read the last few sectors.  Linux (with udev & vol_id) automatically
reads sectors from the end of the device on insertion.  It is assumed that
single sector accesses are more thoroughly tested during development.

Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Tested-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years agoV4L/DVB (8532): mxl5007t: remove excessive locks
Michael Krufky [Sat, 26 Jul 2008 18:43:17 +0000 (15:43 -0300)]
V4L/DVB (8532): mxl5007t: remove excessive locks

The use of mutex locking is overly paranoid in this driver.
The only locks we need are around the manipulation of the
register arrays. The other locks are not needed - remove them.

Thanks to Steven Toth for pointing this out.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8531): mxl5007t: move i2c gate handling outside of mutex protected code...
Michael Krufky [Sat, 26 Jul 2008 15:06:57 +0000 (12:06 -0300)]
V4L/DVB (8531): mxl5007t: move i2c gate handling outside of mutex protected code blocks

There is no reason to protect the i2c gate handling within the mxl5007t
state mutex.

Thanks to Steven Toth for pointing this out.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8530): au0828: add support for new revision of HVR950Q
Michael Krufky [Wed, 9 Jul 2008 03:23:08 +0000 (00:23 -0300)]
V4L/DVB (8530): au0828: add support for new revision of HVR950Q

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8529): mxl5007t: enable _init and _sleep power management functionality
Michael Krufky [Sat, 12 Jul 2008 21:22:38 +0000 (18:22 -0300)]
V4L/DVB (8529): mxl5007t: enable _init and _sleep power management functionality

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8528): add support for MaxLinear MxL5007T silicon tuner
Michael Krufky [Mon, 7 Jul 2008 21:20:58 +0000 (18:20 -0300)]
V4L/DVB (8528): add support for MaxLinear MxL5007T silicon tuner

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Asaf Fishov <afishov@maxlinear.com>
Signed-off-by: Charles Kim <ckim@maxlinear.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8526): saa7146: fix VIDIOC_ENUM_FMT
Hans Verkuil [Sat, 26 Jul 2008 12:16:29 +0000 (09:16 -0300)]
V4L/DVB (8526): saa7146: fix VIDIOC_ENUM_FMT

VIDIOC_ENUM_FMT should keep the index and type fields. Instead,
type was zeroed.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8525): fix a few assorted spelling mistakes.
Hans Verkuil [Sat, 26 Jul 2008 11:37:58 +0000 (08:37 -0300)]
V4L/DVB (8525): fix a few assorted spelling mistakes.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8524): videodev: copy the VID_TYPE defines to videodev.h
Hans Verkuil [Sat, 26 Jul 2008 11:33:47 +0000 (08:33 -0300)]
V4L/DVB (8524): videodev: copy the VID_TYPE defines to videodev.h

The VID_TYPE defines are V4L1 specific, so copy them back to videodev.h.
In videodev2.h ensure that they are not used in the kernel (you need
to include videodev.h instead) and mark them are deprecated.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8523): v4l2-dev: remove unused type and type2 field from video_device
Hans Verkuil [Sat, 26 Jul 2008 11:26:43 +0000 (08:26 -0300)]
V4L/DVB (8523): v4l2-dev: remove unused type and type2 field from video_device

The type and type2 fields were unused and so could be removed.
Instead add a vfl_type field that contains the type of the video
device.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8521): gspca: Webcams with Sonix bridge and sensor ov7630 are VGA.
Jean-Francois Moine [Sun, 27 Jul 2008 05:56:33 +0000 (02:56 -0300)]
V4L/DVB (8521): gspca: Webcams with Sonix bridge and sensor ov7630 are VGA.

This fixes a bug introduced in c503a6f8332a (thanks to Hans de Goede).

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8520): gspca: Bad webcam information in some modules since 28b8203a830e.
Jean-Francois Moine [Sat, 26 Jul 2008 17:30:01 +0000 (14:30 -0300)]
V4L/DVB (8520): gspca: Bad webcam information in some modules since 28b8203a830e.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8519): gspca: Set the specific per webcam information in driver_info for...
Jean-Francois Moine [Sat, 26 Jul 2008 17:17:23 +0000 (14:17 -0300)]
V4L/DVB (8519): gspca: Set the specific per webcam information in driver_info for sonixb.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8518): gspca: Remove the remaining frame decoding functions from the subdrivers.
Jean-Francois Moine [Sat, 26 Jul 2008 11:02:47 +0000 (08:02 -0300)]
V4L/DVB (8518): gspca: Remove the remaining frame decoding functions from the subdrivers.

SPCA505 and SPCA508 added in the pixel formats.
Decode functions and associated resources removed in spca505, 506 and 508.
The decode routines are now found in the V4L library.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8517): gspca: Bad sensor for some webcams in zc3xx since 28b8203a830e.
Jean-Francois Moine [Sat, 26 Jul 2008 10:49:55 +0000 (07:49 -0300)]
V4L/DVB (8517): gspca: Bad sensor for some webcams in zc3xx since 28b8203a830e.

'.driver_info = ' forgotten in usb device id table.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8515): gspca: Webcam 0c45:6143 added in sonixj.
Jean-Francois Moine [Sat, 26 Jul 2008 06:43:59 +0000 (03:43 -0300)]
V4L/DVB (8515): gspca: Webcam 0c45:6143 added in sonixj.

It is an other Pccam168. The .inf says SN9C120B + SP80708, but it should
work as SN9C120 + MI0360.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8513): gspca: Set the specific per webcam information in driver_info.
Jean-Francois Moine [Fri, 25 Jul 2008 11:53:03 +0000 (08:53 -0300)]
V4L/DVB (8513): gspca: Set the specific per webcam information in driver_info.

This patch removes a big part of the code run at probe time.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
17 years agoV4L/DVB (8512): gspca: Do not use the driver_info field of usb_device_id.
Jean-Francois Moine [Wed, 23 Jul 2008 06:39:42 +0000 (03:39 -0300)]
V4L/DVB (8512): gspca: Do not use the driver_info field of usb_device_id.

The field driver_info will be used to handle the specific per webcam
information.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>