GitHub/exynos8895/android_kernel_samsung_universal8895.git
16 years agoext4: fix test ext_generic_write_end() copied return value
Roel Kluin [Wed, 30 Apr 2008 02:01:18 +0000 (22:01 -0400)]
ext4: fix test ext_generic_write_end() copied return value

'copied' is unsigned, whereas 'ret2' is not. The test (copied < 0) fails

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext3: fix test ext_generic_write_end() copied return value
Roel Kluin [Wed, 30 Apr 2008 02:01:27 +0000 (22:01 -0400)]
ext3: fix test ext_generic_write_end() copied return value

'copied' is unsigned, whereas 'ret2' is not. The test (copied < 0) fails

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: Move mballoc headers/structures to a seperate header file mballoc.h
Mingming Cao [Wed, 30 Apr 2008 02:01:31 +0000 (22:01 -0400)]
ext4: Move mballoc headers/structures to a seperate header file mballoc.h

Move function and structure definiations out of mballoc.c and put it under
a new header file mballoc.h

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: cleanup for compiling mballoc with verification and debugging #defines
Solofo Ramangalahy [Wed, 30 Apr 2008 01:59:59 +0000 (21:59 -0400)]
ext4: cleanup for compiling mballoc with verification and debugging #defines

This patch allows compiling mballoc with:
#define AGGRESSIVE_CHECK
#define DOUBLE_CHECK
#define MB_DEBUG

It fixes:
Compilation errors:
fs/ext4/mballoc.c: In function '__mb_check_buddy':
fs/ext4/mballoc.c:605: error: 'struct ext4_prealloc_space' has no member named 'group_list'
fs/ext4/mballoc.c:606: error: 'struct ext4_prealloc_space' has no member named 'pstart'
fs/ext4/mballoc.c:608: error: 'struct ext4_prealloc_space' has no member named 'len'

Compilation warnings:
fs/ext4/mballoc.c: In function 'ext4_mb_normalize_group_request':
fs/ext4/mballoc.c:2863: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'int'
fs/ext4/mballoc.c: In function 'ext4_mb_use_inode_pa':
fs/ext4/mballoc.c:3103: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'int'

Sparse check:
fs/ext4/mballoc.c:3818:2: warning: context imbalance in 'ext4_mb_show_ac' - different lock contexts for basic block

Signed-off-by: Solofo Ramangalahy <Solofo.Ramangalahy@bull.net>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: don't use ext4_error in ext4_check_descriptors
Josef Bacik [Wed, 30 Apr 2008 02:00:28 +0000 (22:00 -0400)]
ext4: don't use ext4_error in ext4_check_descriptors

Because ext4_check_descriptors is called at mount time you can't use ext4_error
as it calls ext4_commit_sb, which since the sb isn't all the way initialized
causes bad things to happen (ie a panic).  This patch changes the ext4_error's
to printk's to keep this problem from happening.  Thanks much,

Signed-off-by: Josef Bacik <jbacik@redhat.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: mark inode dirty after initializing the extent tree
Aneesh Kumar K.V [Wed, 30 Apr 2008 02:00:36 +0000 (22:00 -0400)]
ext4: mark inode dirty after initializing the extent tree

We should mark the inode dirty only after initializing the extent
tree.  Also if we fail during extent initialization we need
to call DQUOT_FREE_INODE.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: update ctime and mtime for truncate with extents.
Solofo Ramangalahy [Wed, 30 Apr 2008 02:00:41 +0000 (22:00 -0400)]
ext4: update ctime and mtime for truncate with extents.

The recently announced "Linux POSIX file system test suite"
caught a truncate issue when using extents:
mtime and ctime are not updated when truncate is successful.

This is the single issue caught with "default" ext4 (mkfs and mount
with minimal options).
The testsuite does not report failure with -o noextents.

With the following patch, all tests of the testsuite pass.

Signed-off-by: Solofo Ramangalahy <Solofo.Ramangalahy@bull.net>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: Don't do GFP_NOFS allocations after taking ext4_lock_group
Aneesh Kumar K.V [Wed, 30 Apr 2008 02:00:47 +0000 (22:00 -0400)]
ext4: Don't do GFP_NOFS allocations after taking ext4_lock_group

We can't do GFP_NOFS allocation after taking ext4_lock_group

BUG: sleeping function called from invalid context at mm/slab.c:3054
in_atomic():1, irqs_disabled():0
1 lock held by vi/2426:
#0:  (&ei->i_data_sem){----}, at: [<c01cf665>] ext4_release_file+0x23/0x66
Pid: 2426, comm: vi Not tainted 2.6.25-rc7 #24
[<c011a3dc>] __might_sleep+0xbe/0xc5
[<c01620c9>] kmem_cache_alloc+0x22/0xa6
[<c01e382a>] ext4_mb_release_inode_pa+0x73/0x1b3
[<c01e6adf>] ext4_mb_discard_inode_preallocations+0x22d/0x2d4
[<c013000a>] ? param_set_ushort+0x32/0x39
[<c01ceba1>] ext4_discard_reservation+0x27/0x6a
[<c01cf66c>] ext4_release_file+0x2a/0x66
[<c0165bd6>] __fput+0xae/0x155
[<c0165e46>] fput+0x17/0x19
[<c0163756>] filp_close+0x50/0x5a
[<c01647c0>] sys_close+0x71/0xad
[<c0104aba>] sysenter_past_esp+0x5f/0xa5

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>
16 years agoext4: move headers out of include/linux
Christoph Hellwig [Tue, 29 Apr 2008 22:13:32 +0000 (18:13 -0400)]
ext4: move headers out of include/linux

Move ext4 headers out of include/linux.  This is just the trivial move,
there's some more thing that could be done later.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: fix wrong gfp type under transaction
Josef Bacik [Wed, 30 Apr 2008 02:02:02 +0000 (22:02 -0400)]
ext4: fix wrong gfp type under transaction

This fixes the allocations with GFP_KERNEL while under a transaction problems
in ext4.  This patch is the same as its ext3 counterpart, just switches these
to GFP_NOFS.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: Fix hang on umount with quotas when journal is aborted
Jan Kara [Wed, 30 Apr 2008 02:02:07 +0000 (22:02 -0400)]
ext4: Fix hang on umount with quotas when journal is aborted

Call dquot_drop() from ext4_dquot_drop() even if we fail to start a
transaction. Otherwise we never get to dropping references to quota structures
from the inode and umount will hang indefinitely.  Thanks to Payphone LIOU for
spotting the problem.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
CC: Payphone LIOU <lioupayphone@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: Fix update of mtime and ctime on rename
Jan Kara [Wed, 30 Apr 2008 02:02:11 +0000 (22:02 -0400)]
ext4: Fix update of mtime and ctime on rename

The patch below makes ext4 update mtime and ctime of the directory
into which we move file even if the directory entry already exists.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agojdb2: replace remaining __FUNCTION__ occurrences
Harvey Harrison [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
jdb2: replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: replace remaining __FUNCTION__ occurrences
Harvey Harrison [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agojbd2: only create debugfs and stats entries if init is successful
Duane Griffin [Wed, 30 Apr 2008 02:02:47 +0000 (22:02 -0400)]
jbd2: only create debugfs and stats entries if init is successful

jbd2 debugfs and stats entries should only be created if cache initialisation
is successful.  At the moment they are being created unconditionally which
will leave them dangling if cache (and hence module) initialisation fails.

Signed-off-by: Duane Griffin <duaneg@dghda.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agojbd2: fix kernel-doc notation
Randy Dunlap [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
jbd2: fix kernel-doc notation

Fix kernel-doc notation in jbd2.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agojbd2: replace potentially false assertion with if block
Duane Griffin [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
jbd2: replace potentially false assertion with if block

If an error occurs during jbd2 cache initialisation it is possible for the
journal_head_cache to be NULL when jbd2_journal_destroy_journal_head_cache is
called.  Replace the J_ASSERT with an if block to handle the situation
correctly.

Note that even with this fix things will break badly if jbd2 is statically
compiled in and cache initialisation fails.

Signed-off-by: Duane Griffin <duaneg@dghda.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agojbd2: eliminate duplicated code in revocation table init/destroy functions
Duane Griffin [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
jbd2: eliminate duplicated code in revocation table init/destroy functions

The revocation table initialisation/destruction code is repeated for each of
the two revocation tables stored in the journal. Refactoring the duplicated
code into functions is tidier, simplifies the logic in initialisation in
particular, and slightly reduces the code size.

There should not be any functional change.

Signed-off-by: Duane Griffin <duaneg@dghda.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agojbd2: tidy up revoke cache initialisation and destruction
Duane Griffin [Mon, 28 Apr 2008 13:40:00 +0000 (09:40 -0400)]
jbd2: tidy up revoke cache initialisation and destruction

Make revocation cache destruction safe to call if initialisation fails
partially or entirely.  This allows it to be used to cleanup in the case of
initialisation failure, simplifying the code slightly.

Signed-off-by: Duane Griffin <duaneg@dghda.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
16 years agoext4: remove duplicate include of ext4_fs_i.h header file
Joe Perches [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
ext4: remove duplicate include of ext4_fs_i.h header file

include/linux/ext4_fs_i.h is included in include/linux/ext_fs.h twice
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: make ext4_xattr_list() static
Mingming Cao [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: make ext4_xattr_list() static

This patch makes the needlessly global ext4_xattr_list() static.

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: remove extra define of ext4_new_blocks_old from mballoc.c
Mingming Cao [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: remove extra define of ext4_new_blocks_old from mballoc.c

The function prototype of ext4_new_blocks_old() is defined in ext4_fs.h,
so we don't need the extra function prototype in mballoc.c

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: check ext4_journal_get_write_access() errors
Akinobu Mita [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: check ext4_journal_get_write_access() errors

Check ext4_journal_get_write_access() errors.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Stephen Tweedie <sct@redhat.com>
Cc: adilger@clusterfs.com
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Mingming Cao <cmm@us.ibm.com>
16 years agoext4: use ext4_get_group_desc()
Akinobu Mita [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: use ext4_get_group_desc()

Use ext4_get_group_desc() in ext4_get_inode_block() instead of open
coding the functionality.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Stephen Tweedie <sct@redhat.com>
Cc: adilger@clusterfs.com
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Mingming Cao <cmm@us.ibm.com>
16 years agoext4: use ext4_group_first_block_no()
Akinobu Mita [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: use ext4_group_first_block_no()

Use ext4_group_first_block_no() and assign the return values to
ext4_fsblk_t variables.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Stephen Tweedie <sct@redhat.com>
Cc: adilger@clusterfs.com
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Mingming Cao <cmm@us.ibm.com>
16 years agoext4: convert byte order of constant instead of variable
Marcin Slusarz [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: convert byte order of constant instead of variable

Convert byte order of constant instead of variable which can be done at
compile time (vs run time).

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: le*_add_cpu conversion
Marcin Slusarz [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: le*_add_cpu conversion

replace all:
little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) +
expression_in_cpu_byteorder);
with:
leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder);
generated with semantic patch

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: linux-ext4@vger.kernel.org
Cc: sct@redhat.com
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: adilger@clusterfs.com
Cc: Mingming Cao <cmm@us.ibm.com>
16 years agoext4: Convert list_for_each_rcu() to list_for_each_entry_rcu()
Aneesh Kumar K.V [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4:  Convert list_for_each_rcu() to list_for_each_entry_rcu()

The list_for_each_entry_rcu() primitive should be used instead of
list_for_each_rcu(), as the former is easier to use and provides
better type safety.

http://groups.google.com/group/linux.kernel/browse_thread/thread/45749c83451cebeb/0633a65759ce7713?lnk=raot

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: reduce mballoc stack usage with noinline_for_stack
Eric Sandeen [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
ext4: reduce mballoc stack usage with noinline_for_stack

mballoc.c is a whole lot of static functions, which gcc seems to
really like to inline.

With the changes below, on x86, I can at least get from:

432 ext4_mb_new_blocks
240 ext4_mb_free_blocks
208 ext4_mb_discard_group_preallocations
188 ext4_mb_seq_groups_show
164 ext4_mb_init_cache
152 ext4_mb_release_inode_pa
136 ext4_mb_seq_history_show
...

to

220 ext4_mb_free_blocks
188 ext4_mb_seq_groups_show
176 ext4_mb_regular_allocator
164 ext4_mb_init_cache
156 ext4_mb_new_blocks
152 ext4_mb_release_inode_pa
136 ext4_mb_seq_history_show
124 ext4_mb_release_group_pa
...

which still has some big functions in there, but not 432 bytes!

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoConvert ext4 to use unlocked_ioctl
Andi Kleen [Wed, 30 Apr 2008 02:03:54 +0000 (22:03 -0400)]
Convert ext4 to use unlocked_ioctl

I checked ext4_ioctl and it looked largely safe to not be used
without BKL.  So convert it over to unlocked_ioctl.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
16 years agoext4: Cache the correct extent length for uninit extents
Aneesh Kumar K.V [Wed, 30 Apr 2008 02:03:59 +0000 (22:03 -0400)]
ext4: Cache the correct extent length for uninit extents

When we convert an uninitialized extent to an initialized extent
we need to make sure we return the number of blocks in the
extent from the file system block corresponding to logical
file block.  Otherwise we cache wrong extent details and this
results in file system corruption.

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>
16 years agoext4: Return unwritten buffer head when trying to read from prealloc space.
Aneesh Kumar K.V [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
ext4: Return unwritten buffer head when trying to read from prealloc space.

ext4_ext_get_blocks() returns the number of blocks allocated with buffer
head unmapped for a read from prealloc space.  This is needed so that
delayed allocation doesn't do block reservation for prealloc space
since the blocks are already reserved on disk.  Mark the buffer head
unwritten.  Some code paths try to read the block if the buffer_head is
not new and no uptodate.  Marking the buffer head unwritten avoids this
reading.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: make ext4_ext_get_blocks always return <= max_blocks
Aneesh Kumar K.V [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
ext4: make ext4_ext_get_blocks always return <= max_blocks

ext4_ext_get_blocks() returns number of blocks allocated with buffer
heads unmapped for a read from prealloc space.  This is needed so that
delayed allocation doesn't do block reservation for prealloc space since
the blocks are already resevred on disk.  Fix ext4_ext_get_blocks to not
return greater than max_blocks, since some of the code paths cannot
handle such a return value.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: Fix fallocate to update the file size in each transaction
Aneesh Kumar K.V [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
ext4: Fix fallocate to update the file size in each transaction

ext4_fallocate needs to update file size in each transaction.  Otherwise
if we crash the file size won't be seen.  We were also not marking
the inode dirty after updating file size before.  Also when we try to
retry allocation due to ENOSPC, make sure we reset the variable ret so
that we actually do a retry.

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>
16 years agoext4: Fix race between migration and mmap write
Aneesh Kumar K.V [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
ext4: Fix race between migration and mmap write

Fail migrate if we allocated new blocks via mmap write.

If we write to holes in the file via mmap, we end up allocating
new blocks. This block allocation happens without taking inode->i_mutex.
Since migrate is protected by i_mutex and migrate expects that no
new blocks get allocated during migrate, fail migrate if new blocks
get allocated.

We can't take inode->i_mutex in the mmap write path because that
would result in a locking order violation between i_mutex and mmap_sem.
Also adding a separate rw_sempahore for protection is really high overhead
for a rare operation such as migrate.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: zero out small extents when writing to prealloc area.
Aneesh Kumar K.V [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: zero out small extents when writing to prealloc area.

If the preallocated area is small zero out the full extent
instead of splitting them. This should avoid the "write
every alternate block" problem that could grow the number
of extents dramatically.

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>
16 years agoext4: ENOSPC error handling for writing to an uninitialized extent
Aneesh Kumar K.V [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
ext4: ENOSPC error handling for writing to an uninitialized extent

This patch handles possible ENOSPC errors when writing to an
uninitialized extent in case the filesystem is full.

A write to a prealloc area causes the split of an unititalized extent
into initialized and uninitialized extents.  If we don't have
space to add new extent information, instead of returning error,
convert the existing uninitialized extent to initialized one.  We
need to zero out the blocks corresponding to the entire extent to
prevent uninitialized data reaching userspace.

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>
16 years agosparc: Export symbols for ZERO_PAGE usage in modules.
Aneesh Kumar K.V [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
sparc: Export symbols for ZERO_PAGE usage in modules.

ext4 uses ZERO_PAGE(0) to zero out blocks.  We need to export
different symbols in different arches for the usage of ZERO_PAGE
in modules.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agom68k: Export empty_zero_page for ZERO_PAGE usage in modules.
Aneesh Kumar K.V [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
m68k: Export empty_zero_page for ZERO_PAGE usage in modules.

ext4 uses ZERO_PAGE(0) to zero out blocks.  We need to export
different symbols in different arches for the usage of ZERO_PAGE
in modules.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoarm: Export empty_zero_page for ZERO_PAGE usage in modules.
Aneesh Kumar K.V [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
arm: Export empty_zero_page for ZERO_PAGE usage in modules.

ext4 uses ZERO_PAGE(0) to zero out blocks.  We need to export
different symbols in different arches for the usage of ZERO_PAGE
in modules.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: Enable extent format for symlinks.
Aneesh Kumar K.V [Tue, 29 Apr 2008 12:11:12 +0000 (08:11 -0400)]
ext4: Enable extent format for symlinks.

This patch enables extent-formatted normal symlinks.  Using extents
format allows a symlink to refer to a block number larger than 2^32
on large filesystems.  We still don't enable extent format for fast
symlinks, which are contained in the inode itself.

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>
16 years agoext4: Fix fallocate error path
Aneesh Kumar K.V [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: Fix fallocate error path

Put the old extent details back if we fail to split the
uninitialized extent.

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>
16 years agoext4: fix mount option parsing
Josef Bacik [Wed, 30 Apr 2008 02:05:28 +0000 (22:05 -0400)]
ext4: fix mount option parsing

The "resize" option won't be noticed as it comes after the NULL option,
so if you try to mount (or in this case remount) with that option it
won't be recognized.

Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Josef Bacik <jbacik@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: fdatasync should skip metadata writeout when overwriting
Hisashi Hifumi [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
ext4: fdatasync should skip metadata writeout when overwriting

Currently fdatasync is identical to fsync in ext3.

I think fdatasync should skip journal flush in data=ordered and
data=writeback mode when it overwrites to already-instantiated blocks on
HDD.  When I_DIRTY_DATASYNC flag is not set, fdatasync should skip journal
writeout because this indicates only atime or/and mtime updates.

Following patch is the same approach of ext2's fsync code(ext2_sync_file).

I did a performance test using the sysbench.

#sysbench --num-threads=128 --max-requests=50000 --test=fileio --file-total-size=128G
--file-test-mode=rndwr --file-fsync-mode=fdatasync run

The result on ext3 was:

-2.6.24
Operations performed:  0 Read, 50080 Write, 59600 Other = 109680 Total
Read 0b  Written 782.5Mb  Total transferred 782.5Mb  (12.116Mb/sec)
  775.45 Requests/sec executed

Test execution summary:
    total time:                          64.5814s
    total number of events:              50080
    total time taken by event execution: 3713.9836
    per-request statistics:
         min:                            0.0000s
         avg:                            0.0742s
         max:                            0.9375s
         approx.  95 percentile:         0.2901s

Threads fairness:
    events (avg/stddev):           391.2500/23.26
    execution time (avg/stddev):   29.0155/1.99

-2.6.24-patched
Operations performed:  0 Read, 50009 Write, 61596 Other = 111605 Total
Read 0b  Written 781.39Mb  Total transferred 781.39Mb  (16.419Mb/sec)
1050.83 Requests/sec executed

Test execution summary:
    total time:                          47.5900s
    total number of events:              50009
    total time taken by event execution: 2934.5768
    per-request statistics:
           min:                            0.0000s
         avg:                            0.0587s
           max:                            0.8938s
         approx.  95 percentile:         0.1993s

Threads fairness:
    events (avg/stddev):           390.6953/22.64
    execution time (avg/stddev):   22.9264/1.17

Filesystem I/O throughput was improved.

Signed-off-by :Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
Acked-by: Jan Kara <jack@suse.cz>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoext4: check return of ext4_orphan_get properly
Josef Bacik [Wed, 30 Apr 2008 02:04:56 +0000 (22:04 -0400)]
ext4:  check return of ext4_orphan_get properly

This patch fix a panic while running fsfuzzer.
We are improperly checking the return of ext4_orphan_get.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agojbd2: fix possible journal overflow issues
Josef Bacik [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
jbd2: fix possible journal overflow issues

There are several cases where the running transaction can get buffers
added to its BJ_Metadata list which it never dirtied, which makes its
t_nr_buffers counter end up larger than its t_outstanding_credits
counter.

This will cause issues when starting new transactions as while we are
logging buffers we decrement t_outstanding_buffers, so when
t_outstanding_buffers goes negative, we will report that we need less
space in the journal than we actually need, so transactions will be
started even though there may not be enough room for them.  In the worst
case scenario (which admittedly is almost impossible to reproduce) this
will result in the journal running out of space.

The fix is to only refile buffers from the committing transaction to the
running transactions BJ_Modified list when b_modified is set on that
journal, which is the only way to be sure if the running transaction has
modified that buffer.

This patch also fixes an accounting error in journal_forget, it is
possible that we can call journal_forget on a buffer without having
modified it, only gotten write access to it, so instead of freeing a
credit, we only do so if the buffer was modified.  The assert will help
catch if this problem occurs.  Without these two patches I could hit
this assert within minutes of running postmark, with them this issue no
longer arises.

Cc: <linux-ext4@vger.kernel.org>
Cc: Jan Kara <jack@ucw.cz>
Signed-off-by: Josef Bacik <jbacik@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agojbd2: fix the way the b_modified flag is cleared
Josef Bacik [Thu, 17 Apr 2008 14:38:59 +0000 (10:38 -0400)]
jbd2: fix the way the b_modified flag is cleared

Currently at the start of a journal commit we loop through all of the buffers
on the committing transaction and clear the b_modified flag (the flag that is
set when a transaction modifies the buffer) under the j_list_lock.

The problem is that everywhere else this flag is modified only under the jbd2
lock buffer flag, so it will race with a running transaction who could
potentially set it, and have it unset by the committing transaction.

This is also a big waste, you can have several thousands of buffers that you
are clearing the modified flag on when you may not need to.  This patch
removes this code and instead clears the b_modified flag upon entering
do_get_write_access/journal_get_create_access, so if that transaction does
indeed use the buffer then it will be accounted for properly, and if it does
not then we know we didn't use it.

That will be important for the next patch in this series.  Tested thoroughly
by myself using postmark/iozone/bonnie++.

Cc: <linux-ext4@vger.kernel.org>
Cc: Jan Kara <jack@ucw.cz>
Signed-off-by: Josef Bacik <jbacik@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
16 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Tue, 29 Apr 2008 23:50:49 +0000 (16:50 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id
  [IA64] Remove printk noise on unimplemented SAL_PHYSICAL_ID_INFO
  [IA64] allocate multiple contiguous pages via uncached allocator
  [IA64] bugfix: nptcg breaks cpu-hotadd

16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Tue, 29 Apr 2008 22:58:24 +0000 (15:58 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/security-testing-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
  Smack: Integrate Smack with Audit
  Security: Typecast CAP_*_SET macros
  Security: Make secctx_to_secid() take const secdata

16 years agoSmack: Integrate Smack with Audit
Ahmed S. Darwish [Tue, 29 Apr 2008 22:34:10 +0000 (08:34 +1000)]
Smack: Integrate Smack with Audit

Setup the new Audit hooks for Smack. SELinux Audit rule fields are recycled
to avoid `auditd' userspace modifications. Currently only equality testing
is supported on labels acting as a subject (AUDIT_SUBJ_USER) or as an object
(AUDIT_OBJ_USER).

Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
Acked-by: Casey Schaufler <casey@schaufler-ca.com>
16 years agoSecurity: Typecast CAP_*_SET macros
David Howells [Tue, 29 Apr 2008 19:54:28 +0000 (20:54 +0100)]
Security: Typecast CAP_*_SET macros

Cast the CAP_*_SET macros to be of kernel_cap_t type to avoid compiler
warnings.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
16 years agoSecurity: Make secctx_to_secid() take const secdata
David Howells [Tue, 29 Apr 2008 19:52:51 +0000 (20:52 +0100)]
Security: Make secctx_to_secid() take const secdata

Make secctx_to_secid() take constant secdata.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Casey Schaufler <casey@schaufler-ca.com>
Signed-off-by: James Morris <jmorris@namei.org>
16 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Tue, 29 Apr 2008 22:19:09 +0000 (15:19 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [libata] linux/libata.h: reorganize ata_device struct members a bit
  ahci: SB600 ahci can't do MSI, blacklist that capability
  libata: More TSSTcorp pain, keep in sync with legacy IDE
  pata_via: Fix 6410 misdetect
  [libata] pata_atiixp: fix PIO timing data misprogramming

16 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Tue, 29 Apr 2008 22:18:06 +0000 (15:18 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm: (26 commits)
  [ARM] pxa: fix 1c104e0e4f6ab396960c058e95e18bdedcac945b
  [ARM] serial: s3c2410: platform_get_irq() may return signed unnoticed
  [ARM] am79c961a: platform_get_irq() may return signed unnoticed
  [ARM] Feroceon: Feroceon-specific WA-cache compatible {copy,clear}_user_page()
  [ARM] Feroceon: fix function alignment in proc-feroceon.S
  [ARM] Orion: catch a couple more alternative spellings of PCIe
  [ARM] Orion: fix orion-ehci platform resource end addresses
  [ARM] Orion: fix ->map_irq() PCIe bus number check
  [ARM] Orion: fix ioremap() optimization
  [ARM] feroceon: remove CONFIG_CPU_CACHE_ROUND_ROBIN check
  [ARM] feroceon: remove CONFIG_CPU_DCACHE_WRITETHROUGH check
  kprobes/arm: fix decoding of arithmetic immediate instructions
  kprobes/arm: fix cache flush address for instruction stub
  [ARM] 5022/1: Race in ARM MMCI PL18x driver, V2
  [ARM] 5021/1: at91: buildfix for sam9263 + PM
  [ARM] 5018/1: RealView: Fix the ARM11MPCore Oprofile compilation
  [ARM] 5016/1: AT91: typo in mci configuration for at91cap at91sam9263
  [ARM] 5017/1: pxa3xx: Report unsupported wakeup sources in pxa3xx_set_wake()
  [ARM] 5020/1: magician: remove __devinit marker from pasic3_leds_info
  [ARM] 5014/1: Cleanup reset state before entering suspend or resetting.
  ...

16 years ago[IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id
Alex Chiang [Tue, 29 Apr 2008 22:05:29 +0000 (15:05 -0700)]
[IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id

Legacy HP ia64 platforms currently cannot provide
/proc/cpuinfo/physical_id due to legacy SAL/PAL implementations.
However, that physical topology information can be obtained
via ACPI.

Provide an interface that gives ACPI one last chance to provide
physical_id for these legacy platforms. This logic only comes
into play iff:

- ACPI actually provides slot information for the CPU
- we lack a valid socket_id

Otherwise, we don't do anything.

Since x86 uses the ACPI processor driver as well, we provide a nop
stub function for arch_fix_phys_package_id() in asm-x86/topology.h

Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Tue, 29 Apr 2008 21:53:40 +0000 (14:53 -0700)]
Merge git://git./linux/kernel/git/mchehab/v4l-dvb

* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (28 commits)
  V4L-DVB(7789a): cx18: fix symbol conflict with ivtv driver
  V4L/DVB (7789): tuner: remove static dependencies on analog tuner sub-modules
  V4L/DVB (7785): [2.6 patch] make mt9{m001,v022}_controls[] static
  V4L/DVB (7786): cx18: new driver for the Conexant CX23418 MPEG encoder chip
  V4L/DVB (7783): drivers/media/dvb/frontends/s5h1420.c: printk fix
  V4L/DVB (7782): pvrusb2: Driver is no longer experimental
  V4L/DVB (7781): pvrusb2-dvb: include dvb support by default and update Kconfig help text
  V4L/DVB (7780): pvrusb2: always enable support for OnAir Creator / HDTV USB2
  V4L/DVB (7779): pvrusb2-dvb: quiet down noise in kernel log for feed debug
  Rename common tuner Kconfig names to use the same
  Fix V4L/DVB core help messages
  V4L/DVB (7769): Move other terrestrial tuners to common/tuners
  V4L/DVB (7768): reorganize some DVB-S Kconfig items
  V4L/DVB(7767): Move tuners to common/tuners
  V4L/DVB (7766): saa7134: add another PCI ID for Beholder M6
  V4L/DVB (7765): Add support for Beholder BeholdTV H6
  V4L/DVB (7763): ivtv: add tuner support for the AverMedia M116
  V4L/DVB (7762): ivtv: fix tuner detection for PAL-N/Nc
  V4L/DVB (7761): ivtv: increase the DMA timeout from 100 to 300 ms
  V4L/DVB (7759): ivtv: increase version number to 1.2.1
  ...

16 years agoMerge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
Linus Torvalds [Tue, 29 Apr 2008 21:48:31 +0000 (14:48 -0700)]
Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6

* 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
  i2c: Convert most new-style drivers to use module aliasing
  i2c: Add support for device alias names
  i2c-amd756-s4882: Fix an error path
  i2c: Drop unused RTC driver IDs
  i2c/tps65010: Add missing intialization of client data
  i2c-sis5595: Minor cleanups in sis5595_access
  i2c-piix4: Minor cleanups
  i2c: Spelling fix (successful)
  i2c-stub: No newline in parameter description

16 years ago[libata] linux/libata.h: reorganize ata_device struct members a bit
Jeff Garzik [Tue, 29 Apr 2008 21:47:34 +0000 (17:47 -0400)]
[libata] linux/libata.h: reorganize ata_device struct members a bit

Put the big stuff at the end, to prepare for upcoming changes (and
also hopefully achieve nicer packing of remaining members).

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoahci: SB600 ahci can't do MSI, blacklist that capability
Tejun Heo [Tue, 29 Apr 2008 07:09:22 +0000 (16:09 +0900)]
ahci: SB600 ahci can't do MSI, blacklist that capability

This fixes bz#10507.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Shane Huang <Shane.Huang@amd.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoV4L-DVB(7789a): cx18: fix symbol conflict with ivtv driver
Mauro Carvalho Chehab [Wed, 30 Apr 2008 00:38:51 +0000 (21:38 -0300)]
V4L-DVB(7789a): cx18: fix symbol conflict with ivtv driver

LD      drivers/media/video/built-in.o
drivers/media/video/cx18/built-in.o: In function `get_service_set':
/home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:118: multiple definition of `get_service_set'
drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:119: first defined here
drivers/media/video/cx18/built-in.o: In function `expand_service_set':
/home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:92: multiple definition of `expand_service_set'
drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:92: first defined here
drivers/media/video/cx18/built-in.o: In function `service2vbi':
/home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:44: multiple definition of `service2vbi'
drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:42: first defined here
make[2]: ** [drivers/media/video/built-in.o] Erro 1
make[1]: ** [drivers/media/video] Erro 2
make: ** [drivers/media/] Erro 2

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7789): tuner: remove static dependencies on analog tuner sub-modules
Michael Krufky [Tue, 29 Apr 2008 06:54:19 +0000 (03:54 -0300)]
V4L/DVB (7789): tuner: remove static dependencies on analog tuner sub-modules

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7785): [2.6 patch] make mt9{m001,v022}_controls[] static
Adrian Bunk [Mon, 28 Apr 2008 20:13:51 +0000 (17:13 -0300)]
V4L/DVB (7785): [2.6 patch] make mt9{m001,v022}_controls[] static

This patch makes the needlessly global mt9{m001,v022}_controls[] static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7786): cx18: new driver for the Conexant CX23418 MPEG encoder chip
Hans Verkuil [Mon, 28 Apr 2008 23:24:33 +0000 (20:24 -0300)]
V4L/DVB (7786): cx18: new driver for the Conexant CX23418 MPEG encoder chip

Many thanks to Steve Toth from Hauppauge and Nattu Dakshinamurthy from
Conexant for their support. I am in particular thankful to Hauppauge
since without their help this driver would not exist. It should also
be noted that Steve did the work to get the DVB part up and running.
Thank you!

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: G. Andrew Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7783): drivers/media/dvb/frontends/s5h1420.c: printk fix
Andrew Morton [Mon, 28 Apr 2008 11:54:56 +0000 (08:54 -0300)]
V4L/DVB (7783): drivers/media/dvb/frontends/s5h1420.c: printk fix

drivers/media/dvb/frontends/s5h1420.c: In function `s5h1420_setsymbolrate':
drivers/media/dvb/frontends/s5h1420.c:484: warning: long long unsigned int format, u64 arg (arg 2)

We do not know what type the architecture uses for u64.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7782): pvrusb2: Driver is no longer experimental
Mike Isely [Mon, 28 Apr 2008 00:37:33 +0000 (21:37 -0300)]
V4L/DVB (7782): pvrusb2: Driver is no longer experimental

This driver has been in-kernel and reasonably stable for well over a
year.  It is in a stable form and is known to work well.  Remove its
experimental status.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7781): pvrusb2-dvb: include dvb support by default and update Kconfig help...
Michael Krufky [Sun, 27 Apr 2008 22:22:45 +0000 (19:22 -0300)]
V4L/DVB (7781): pvrusb2-dvb: include dvb support by default and update Kconfig help text

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7780): pvrusb2: always enable support for OnAir Creator / HDTV USB2
Michael Krufky [Sun, 27 Apr 2008 22:12:29 +0000 (19:12 -0300)]
V4L/DVB (7780): pvrusb2: always enable support for OnAir Creator / HDTV USB2

This was a build option in the past, to avoid conflicts with the cxusb module
for digital televsion support.  Now that dtv mode support has been merged into
pvrusb2, the OnAir devices are fully supported by this single module.  This no
longer should be a build option.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7779): pvrusb2-dvb: quiet down noise in kernel log for feed debug
Michael Krufky [Sat, 26 Apr 2008 22:44:59 +0000 (19:44 -0300)]
V4L/DVB (7779): pvrusb2-dvb: quiet down noise in kernel log for feed debug

Get rid of the noise in dmesg during dvb feed changes,
unless the appropriate debug trace flag is enabled.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Reviewed-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoRename common tuner Kconfig names to use the same
Mauro Carvalho Chehab [Wed, 30 Apr 2008 00:38:46 +0000 (21:38 -0300)]
Rename common tuner Kconfig names to use the same
namespace for all of them.

16 years agoFix V4L/DVB core help messages
Mauro Carvalho Chehab [Wed, 30 Apr 2008 00:38:45 +0000 (21:38 -0300)]
Fix V4L/DVB core help messages

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7769): Move other terrestrial tuners to common/tuners
Mauro Carvalho Chehab [Wed, 30 Apr 2008 00:38:45 +0000 (21:38 -0300)]
V4L/DVB (7769): Move other terrestrial tuners to common/tuners

Those tuners are currently used only under media/dvb. However,
they can support also analog TV. Better to move them to the same place
as the other hybrid tuners. This would make easier to use those tuners also
by analog drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7768): reorganize some DVB-S Kconfig items
Mauro Carvalho Chehab [Sat, 26 Apr 2008 19:19:58 +0000 (16:19 -0300)]
V4L/DVB (7768): reorganize some DVB-S Kconfig items

There are some DVB-S tuners together with DVB-S tags, while
others together with tuners. Better to have all of them together.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB(7767): Move tuners to common/tuners
Mauro Carvalho Chehab [Wed, 30 Apr 2008 00:38:44 +0000 (21:38 -0300)]
V4L/DVB(7767): Move tuners to common/tuners

There were several issues in the past, caused by the hybrid tuner design, since
now, the same tuner can be used by drivers/media/dvb and drivers/media/video.

Kconfig items were rearranged, to split V4L/DVB core from their drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7766): saa7134: add another PCI ID for Beholder M6
Igor Kuznetsov [Sat, 26 Apr 2008 17:59:08 +0000 (14:59 -0300)]
V4L/DVB (7766): saa7134: add another PCI ID for Beholder M6

Signed-off-by: Igor Kuznetsov <igk@igk.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7765): Add support for Beholder BeholdTV H6
Igor Kuznetsov [Sat, 26 Apr 2008 17:53:48 +0000 (14:53 -0300)]
V4L/DVB (7765): Add support for Beholder BeholdTV H6

Signed-off-by: Igor Kuznetsov <igk@igk.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7763): ivtv: add tuner support for the AverMedia M116
Hans Verkuil [Sat, 26 Apr 2008 17:16:18 +0000 (14:16 -0300)]
V4L/DVB (7763): ivtv: add tuner support for the AverMedia M116

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7762): ivtv: fix tuner detection for PAL-N/Nc
Hans Verkuil [Sat, 26 Apr 2008 15:10:58 +0000 (12:10 -0300)]
V4L/DVB (7762): ivtv: fix tuner detection for PAL-N/Nc

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7761): ivtv: increase the DMA timeout from 100 to 300 ms
Hans Verkuil [Sat, 26 Apr 2008 14:22:11 +0000 (11:22 -0300)]
V4L/DVB (7761): ivtv: increase the DMA timeout from 100 to 300 ms

When there is a lot of DMA traffic this timeout might sometimes be too low.
Increase it to be on the safe side.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7759): ivtv: increase version number to 1.2.1
Hans Verkuil [Sat, 26 Apr 2008 12:43:22 +0000 (09:43 -0300)]
V4L/DVB (7759): ivtv: increase version number to 1.2.1

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7758): ivtv: fix oops when itv->speed == 0 and VIDEO_CMD_PLAY is called
Hans Verkuil [Sat, 26 Apr 2008 12:26:13 +0000 (09:26 -0300)]
V4L/DVB (7758): ivtv: fix oops when itv->speed == 0 and VIDEO_CMD_PLAY is called

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7757): ivtv: add autodetect for the AVermedia M104 card
Hans Verkuil [Sat, 26 Apr 2008 12:19:44 +0000 (09:19 -0300)]
V4L/DVB (7757): ivtv: add autodetect for the AVermedia M104 card

Note that this card is only detected and not yet working.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7756): ivtv: use strlcpy instead of strcpy
Hans Verkuil [Sat, 26 Apr 2008 11:51:51 +0000 (08:51 -0300)]
V4L/DVB (7756): ivtv: use strlcpy instead of strcpy

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7755): ivtv: add support for card comments and detected but unsupported...
Hans Verkuil [Sat, 26 Apr 2008 11:48:26 +0000 (08:48 -0300)]
V4L/DVB (7755): ivtv: add support for card comments and detected but unsupported cards

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7754): ivtv: change initialization order to fix an oops when device registra...
Hans Verkuil [Sat, 26 Apr 2008 11:43:50 +0000 (08:43 -0300)]
V4L/DVB (7754): ivtv: change initialization order to fix an oops when device registration failed

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7753): saa7134: fix tuner setup
Mauro Carvalho Chehab [Sat, 26 Apr 2008 17:05:58 +0000 (14:05 -0300)]
V4L/DVB (7753): saa7134: fix tuner setup

Tuner setup were happening during i2c attach callback. This means that it would
happen on two conditions:

        1) if tuner module weren't load, it will happen at request_module("tuner");

        2) if tuner is not compiled as a module, or it is already loaded
           (for example, on setups with more than one tuner), it will happen
           when saa7134 registers I2C bus.

Due to that, if tuner were loaded, tuner setup will happen _before_ reading
the proper values at tuner eeprom. Since set_addr refuses to change for a tuner
that were previously defined (except if the tuner_addr is set), this were
making eeprom tuner detection useless.

This patch removes tuner type setup from saa7134-i2c, moving it to the proper
place, after taking eeprom into account.

Reviewed-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7752): tuner-core: add a missing \n after a debug printk
Mauro Carvalho Chehab [Sat, 26 Apr 2008 17:04:10 +0000 (14:04 -0300)]
V4L/DVB (7752): tuner-core: add a missing \n after a debug printk

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7749): cx88: fix tuner setup
Mauro Carvalho Chehab [Sat, 26 Apr 2008 14:55:09 +0000 (11:55 -0300)]
V4L/DVB (7749): cx88: fix tuner setup

Tuner setup were happening during i2c attach callback. This means that it would
happen on two conditions:

1) if tuner module weren't load, it will happen at request_module("tuner");

2) if tuner is not compiled as a module, or it is already loaded
   (for example, on setups with more than one tuner), it will happen
   when cx88 registers I2C bus.

Due to that, if tuner were loaded, tuner setup will happen _before_ reading
the proper values at tuner eeprom. Since set_addr refuses to change for a tuner
that were previously defined (except if the tuner_addr is set), this were making
eeprom tuner detection useless.

This patch removes tuner type setup from cx88-i2c, moving it to the proper
place, after taking eeprom into account.

Reviewed-by: Gert Vervoort <gert.vervoort@hccnet.nl>
Reviewed-by: Ian Pickworth <ian@pickworth.me.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agolibata: More TSSTcorp pain, keep in sync with legacy IDE
Alan Cox [Tue, 29 Apr 2008 13:08:36 +0000 (14:08 +0100)]
libata: More TSSTcorp pain, keep in sync with legacy IDE

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agopata_via: Fix 6410 misdetect
Alan Cox [Tue, 29 Apr 2008 13:10:57 +0000 (14:10 +0100)]
pata_via: Fix 6410 misdetect

The discrete VIA ATA chips don't have 0x40 enable bits. We check that
properly in one location but not another. This causes some users 6410
RAID cards to be incorrectly skipped.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[libata] pata_atiixp: fix PIO timing data misprogramming
Jeff Garzik [Tue, 29 Apr 2008 21:39:45 +0000 (17:39 -0400)]
[libata] pata_atiixp: fix PIO timing data misprogramming

Use correct variable, achieve desired result...

Spotted by LKML/linux-ide poster whose name I lost (apologies!)

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoi2c: Convert most new-style drivers to use module aliasing
Jean Delvare [Tue, 29 Apr 2008 21:11:40 +0000 (23:11 +0200)]
i2c: Convert most new-style drivers to use module aliasing

Based on earlier work by Jon Smirl and Jochen Friedrich.

Update most new-style i2c drivers to use standard module aliasing
instead of the old driver_name/type driver matching scheme. I've
left the video drivers apart (except for SoC camera drivers) as
they're a bit more diffcult to deal with, they'll have their own
patch later.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Jon Smirl <jonsmirl@gmail.com>
Cc: Jochen Friedrich <jochen@scram.de>
16 years agoi2c: Add support for device alias names
Jean Delvare [Tue, 29 Apr 2008 21:11:39 +0000 (23:11 +0200)]
i2c: Add support for device alias names

Based on earlier work by Jon Smirl and Jochen Friedrich.

This patch allows new-style i2c chip drivers to have alias names using
the official kernel aliasing system and MODULE_DEVICE_TABLE(). At this
point, the old i2c driver binding scheme (driver_name/type) is still
supported.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Jochen Friedrich <jochen@scram.de>
Cc: Jon Smirl <jonsmirl@gmail.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
16 years agoi2c-amd756-s4882: Fix an error path
Jean Delvare [Tue, 29 Apr 2008 21:11:38 +0000 (23:11 +0200)]
i2c-amd756-s4882: Fix an error path

If initialization fails, we want to restore the physical bus, not delete
it again.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agoi2c: Drop unused RTC driver IDs
Jean Delvare [Tue, 29 Apr 2008 21:11:38 +0000 (23:11 +0200)]
i2c: Drop unused RTC driver IDs

The x1208, pcf8563 and isl1208 RTC drivers have been converted to
new-style i2c drivers, so they no longer use I2C driver IDs.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
16 years agoi2c/tps65010: Add missing intialization of client data
Jean Delvare [Tue, 29 Apr 2008 21:11:38 +0000 (23:11 +0200)]
i2c/tps65010: Add missing intialization of client data

tps65010_remove() calls i2c_get_clientdata(client) but the client data
is never set during initialization, so it gets a NULL pointer at best.

I guess it was never spotted because the tps65010 driver is typically
not built modular so this function is discarded.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: David Brownell <dbrownell@users.sourceforge.net>
16 years agoi2c-sis5595: Minor cleanups in sis5595_access
Jean Delvare [Tue, 29 Apr 2008 21:11:38 +0000 (23:11 +0200)]
i2c-sis5595: Minor cleanups in sis5595_access

* Remove commented-out code.
* Use dev_warn instead of printk.
* Remove a legacy comment.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agoi2c-piix4: Minor cleanups
Jean Delvare [Tue, 29 Apr 2008 21:11:37 +0000 (23:11 +0200)]
i2c-piix4: Minor cleanups

* Remove a needless include.
* Remove a legacy comment in piix4_access.
* Minor optimization in piix4_access.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agoi2c: Spelling fix (successful)
Jean Delvare [Tue, 29 Apr 2008 21:11:37 +0000 (23:11 +0200)]
i2c: Spelling fix (successful)

Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agoi2c-stub: No newline in parameter description
Jean Delvare [Tue, 29 Apr 2008 21:11:37 +0000 (23:11 +0200)]
i2c-stub: No newline in parameter description

Signed-off-by: Jean Delvare <khali@linux-fr.org>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Tue, 29 Apr 2008 21:02:48 +0000 (14:02 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  RDMA/nes: Formatting cleanup
  RDMA/nes: Add support for SFP+ PHY
  RDMA/nes: Use LRO
  IPoIB: Copy child MTU from parent
  IB/mthca: Avoid changing userspace ABI to handle DMA write barrier attribute
  IB/mthca: Avoid recycling old FMR R_Keys too soon
  mlx4_core: Avoid recycling old FMR R_Keys too soon
  IB/ehca: Allocate event queue size depending on max number of CQs and QPs
  IPoIB: Use separate CQ for UD send completions
  IB/iser: Count FMR alignment violations per session
  IB/iser: Move high-volume debug output to higher debug level
  IB/ehca: handle negative return value from ibmebus_request_irq() properly
  RDMA/cxgb3: Support peer-2-peer connection setup
  RDMA/cxgb3: Set the max_mr_size device attribute correctly
  RDMA/cxgb3: Correctly serialize peer abort path
  mlx4_core: Add a way to set the "collapsed" CQ flag