]> Git Repo - linux.git/log
linux.git
13 years agoof: constify property name parameters for helper functions
Jamie Iles [Tue, 2 Aug 2011 14:45:07 +0000 (15:45 +0100)]
of: constify property name parameters for helper functions

The helper functions for reading u32 integers, u32 arrays and strings
should have the property name as a const pointer.

Cc: Grant Likely <[email protected]>
Signed-off-by: Jamie Iles <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
13 years agospi/pl022: remove function cannot exit
Linus Walleij [Tue, 2 Aug 2011 09:29:24 +0000 (11:29 +0200)]
spi/pl022: remove function cannot exit

The remove function in the PL022 driver cannot abort the remove
function any way, so restructure the code so as not to make that
assumption. Remove will now proceed no matter whether it can
stop the transfer queue or not.

Reported-by: Russell King <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
Signed-off-by: Grant Likely <[email protected]>
13 years agodm table: set flush capability based on underlying devices
Mike Snitzer [Tue, 2 Aug 2011 11:32:08 +0000 (12:32 +0100)]
dm table: set flush capability based on underlying devices

DM has always advertised both REQ_FLUSH and REQ_FUA flush capabilities
regardless of whether or not a given DM device's underlying devices
also advertised a need for them.

Block's flush-merge changes from 2.6.39 have proven to be more costly
for DM devices.  Performance regressions have been reported even when
DM's underlying devices do not advertise that they have a write cache.

Fix the performance regressions by configuring a DM device's flushing
capabilities based on those of the underlying devices' capabilities.

Signed-off-by: Mike Snitzer <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm crypt: optionally support discard requests
Milan Broz [Tue, 2 Aug 2011 11:32:08 +0000 (12:32 +0100)]
dm crypt: optionally support discard requests

Add optional parameter field to dmcrypt table and support
"allow_discards" option.

Discard requests bypass crypt queue processing. Bio is simple remapped
to underlying device.

Note that discard will be never enabled by default because of security
consequences.  It is up to the administrator to enable it for encrypted
devices.

(Note that userspace cryptsetup does not understand new optional
parameters yet.  Support for this will come later.  Until then, you
should use 'dmsetup' to enable and disable this.)

Signed-off-by: Milan Broz <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm raid: add md raid1 support
Jonathan Brassow [Tue, 2 Aug 2011 11:32:07 +0000 (12:32 +0100)]
dm raid: add md raid1 support

Support the MD RAID1 personality through dm-raid.

Signed-off-by: Jonathan Brassow <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm raid: support metadata devices
Jonathan Brassow [Tue, 2 Aug 2011 11:32:07 +0000 (12:32 +0100)]
dm raid: support metadata devices

Add the ability to parse and use metadata devices to dm-raid.  Although
not strictly required, without the metadata devices, many features of
RAID are unavailable.  They are used to store a superblock and bitmap.

The role, or position in the array, of each device must be recorded in
its superblock.  This is to help with fault handling, array reshaping,
and sanity checks.  RAID 4/5/6 devices must be loaded in a specific order:
in this way, the 'array_position' field helps validate the correctness
of the mapping when it is loaded.  It can be used during reshaping to
identify which devices are added/removed.  Fault handling is impossible
without this field.  For example, when a device fails it is recorded in
the superblock.  If this is a RAID1 device and the offending device is
removed from the array, there must be a way during subsequent array
assembly to determine that the failed device was the one removed.  This
is done by correlating the 'array_position' field and the bit-field
variable 'failed_devices'.

Signed-off-by: Jonathan Brassow <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm raid: add write_mostly parameter
Jonathan Brassow [Tue, 2 Aug 2011 11:32:07 +0000 (12:32 +0100)]
dm raid: add write_mostly parameter

Add the write_mostly parameter to RAID1 dm-raid tables.

This allows the user to set the WriteMostly flag on a RAID1 device that
should normally be avoided for read I/O.

Signed-off-by: Jonathan Brassow <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm raid: add region_size parameter
Jonathan Brassow [Tue, 2 Aug 2011 11:32:07 +0000 (12:32 +0100)]
dm raid: add region_size parameter

Allow the user to specify the region_size.

Ensures that the supplied value meets md's constraints, viz. the number of
regions does not exceed 2^21.

Signed-off-by: Jonathan Brassow <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm raid: improve table parameters documentation
Jonathan Brassow [Tue, 2 Aug 2011 11:32:06 +0000 (12:32 +0100)]
dm raid: improve table parameters documentation

Add more information about some dm-raid table parameters and clarify how
parameters are printed when 'dmsetup table' is issued.

Signed-off-by: Jonathan Brassow <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm ioctl: forbid multiple device specifiers
Mikulas Patocka [Tue, 2 Aug 2011 11:32:06 +0000 (12:32 +0100)]
dm ioctl: forbid multiple device specifiers

Exactly one of name, uuid or device must be specified when referencing
an existing device.  This removes the ambiguity (risking the wrong
device being updated) if two conflicting parameters were specified.
Previously one parameter got used and any others were ignored silently.

Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm ioctl: introduce __get_dev_cell
Mikulas Patocka [Tue, 2 Aug 2011 11:32:06 +0000 (12:32 +0100)]
dm ioctl: introduce __get_dev_cell

Move logic to find device based on major/minor number to a separate
function __get_dev_cell (similar to __get_uuid_cell and __get_name_cell).
This makes the function __find_device_hash_cell more straightforward.

Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm ioctl: fill in device parameters in more ioctls
Mikulas Patocka [Tue, 2 Aug 2011 11:32:06 +0000 (12:32 +0100)]
dm ioctl: fill in device parameters in more ioctls

Move parameter filling from find_device to __find_device_hash_cell.

This patch causes ioctls using __find_device_hash_cell
(DM_DEV_REMOVE_CMD, DM_DEV_SUSPEND_CMD - resume, DM_TABLE_CLEAR_CMD)
to return device parameters, bringing them into line with the other
ioctls.

Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm flakey: add corrupt_bio_byte feature
Mike Snitzer [Tue, 2 Aug 2011 11:32:06 +0000 (12:32 +0100)]
dm flakey: add corrupt_bio_byte feature

Add corrupt_bio_byte feature to simulate corruption by overwriting a byte at a
specified position with a specified value during intervals when the device is
"down".

Signed-off-by: Mike Snitzer <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm flakey: add drop_writes
Mike Snitzer [Tue, 2 Aug 2011 11:32:05 +0000 (12:32 +0100)]
dm flakey: add drop_writes

Add 'drop_writes' option to drop writes silently while the
device is 'down'.  Reads are not touched.

Signed-off-by: Mike Snitzer <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm flakey: support feature args
Mike Snitzer [Tue, 2 Aug 2011 11:32:05 +0000 (12:32 +0100)]
dm flakey: support feature args

Add the ability to specify arbitrary feature flags when creating a
flakey target.  This code uses the same target argument helpers that
the multipath target does.

Also remove the superfluous 'dm-flakey' prefixes from the error messages,
as they already contain the prefix 'flakey'.

Signed-off-by: Mike Snitzer <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm flakey: use dm_target_offset and support discards
Mike Snitzer [Tue, 2 Aug 2011 11:32:05 +0000 (12:32 +0100)]
dm flakey: use dm_target_offset and support discards

Use dm_target_offset() and support discards.

Signed-off-by: Mike Snitzer <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm table: share target argument parsing functions
Mike Snitzer [Tue, 2 Aug 2011 11:32:04 +0000 (12:32 +0100)]
dm table: share target argument parsing functions

Move multipath target argument parsing code into dm-table so other
targets can share it.

Signed-off-by: Mike Snitzer <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm snapshot: skip reading origin when overwriting complete chunk
Mikulas Patocka [Tue, 2 Aug 2011 11:32:04 +0000 (12:32 +0100)]
dm snapshot: skip reading origin when overwriting complete chunk

If we write a full chunk in the snapshot, skip reading the origin device
because the whole chunk will be overwritten anyway.

This patch changes the snapshot write logic when a full chunk is written.
In this case:
  1. allocate the exception
  2. dispatch the bio (but don't report the bio completion to device mapper)
  3. write the exception record
  4. report bio completed

Callbacks must be done through the kcopyd thread, because callbacks must not
race with each other.  So we create two new functions:

  dm_kcopyd_prepare_callback: allocate a job structure and prepare the callback.
  (This function must not be called from interrupt context.)

  dm_kcopyd_do_callback: submit callback.
  (This function may be called from interrupt context.)

Performance test (on snapshots with 4k chunk size):
  without the patch:
    non-direct-io sequential write (dd):    17.7MB/s
    direct-io sequential write (dd):        20.9MB/s
    non-direct-io random write (mkfs.ext2): 0.44s

  with the patch:
    non-direct-io sequential write (dd):    26.5MB/s
    direct-io sequential write (dd):        33.2MB/s
    non-direct-io random write (mkfs.ext2): 0.27s

Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm: ignore merge_bvec for snapshots when safe
Mikulas Patocka [Tue, 2 Aug 2011 11:32:04 +0000 (12:32 +0100)]
dm: ignore merge_bvec for snapshots when safe

Add a new flag DMF_MERGE_IS_OPTIONAL to struct mapped_device to indicate
whether the device can accept bios larger than the size its merge
function returns.  When set, use this to send large bios to snapshots
which can split them if necessary.  Snapshot I/O may be significantly
fragmented and this approach seems to improve peformance.

Before the patch, dm_set_device_limits restricted bio size to page size
if the underlying device had a merge function and the target didn't
provide a merge function.  After the patch, dm_set_device_limits
restricts bio size to page size if the underlying device has a merge
function, doesn't have DMF_MERGE_IS_OPTIONAL flag and the target doesn't
provide a merge function.

The snapshot target can't provide a merge function because when the merge
function is called, it is impossible to determine where the bio will be
remapped.  Previously this led us to impose a 4k limit, which we can
now remove if the snapshot store is located on a device without a merge
function.  Together with another patch for optimizing full chunk writes,
it improves performance from 29MB/s to 40MB/s when writing to the
filesystem on snapshot store.

If the snapshot store is placed on a non-dm device with a merge function
(such as md-raid), device mapper still limits all bios to page size.

Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm table: clean dm_get_device and move exports
Mike Snitzer [Tue, 2 Aug 2011 11:32:04 +0000 (12:32 +0100)]
dm table: clean dm_get_device and move exports

There is no need for __table_get_device to be factored out.
Also move the exports to the end of their respective functions.

Signed-off-by: Mike Snitzer <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm raid: tidy includes
Alasdair G Kergon [Tue, 2 Aug 2011 11:32:03 +0000 (12:32 +0100)]
dm raid: tidy includes

A dm target only needs to use include/linux dm headers.

Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm ioctl: prevent empty message
Alasdair G Kergon [Tue, 2 Aug 2011 11:32:03 +0000 (12:32 +0100)]
dm ioctl: prevent empty message

Detect invalid empty messages in core dm instead of requiring every target to
check this.

Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm raid: cleanup parameter handling
Jonathan Brassow [Tue, 2 Aug 2011 11:32:03 +0000 (12:32 +0100)]
dm raid: cleanup parameter handling

Re-order the parameters so they are handled consistently in the same order
where defined, parsed and output.

Only include rebuild parameters in the STATUSTYPE_TABLE output if they were
supplied in the original table line.

Correct the parameter count when outputting rebuild: there are two words,
not one.

Use case-independent checks for keywords (as in other device-mapper targets).

Signed-off-by: Jonathan Brassow <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm snapshot: style cleanups
Jonathan Brassow [Tue, 2 Aug 2011 11:32:03 +0000 (12:32 +0100)]
dm snapshot: style cleanups

Coding style cleanups.

Signed-off-by: Alasdair G Kergon <[email protected]>
Signed-off-by: Jonathan Brassow <[email protected]>
13 years agodm snapshot: remove unused definitions
Mikulas Patocka [Tue, 2 Aug 2011 11:32:03 +0000 (12:32 +0100)]
dm snapshot: remove unused definitions

Remove a couple of unused #defines.

Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm kcopyd: remove nr_pages field from job structure
Mikulas Patocka [Tue, 2 Aug 2011 11:32:02 +0000 (12:32 +0100)]
dm kcopyd: remove nr_pages field from job structure

The nr_pages field in struct kcopyd_job is only used temporarily in
run_pages_job() to count the number of required pages.
We can use a local variable instead.

Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm kcopyd: remove offset field from job structure
Mikulas Patocka [Tue, 2 Aug 2011 11:32:02 +0000 (12:32 +0100)]
dm kcopyd: remove offset field from job structure

The offset field in struct kcopyd_job is always zero so remove it.

Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm: use vzalloc
Joe Perches [Tue, 2 Aug 2011 11:32:02 +0000 (12:32 +0100)]
dm: use vzalloc

Use vzalloc() instead of vmalloc()+memset().

Signed-off-by: Joe Perches <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm log: userspace use list_move
Kirill A. Shutemov [Tue, 2 Aug 2011 11:32:02 +0000 (12:32 +0100)]
dm log: userspace use list_move

Replace list_del() followed by list_add() with list_move().

Signed-off-by: Kirill A. Shutemov <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm log: clean up bit little endian bitops
Akinobu Mita [Tue, 2 Aug 2011 11:32:01 +0000 (12:32 +0100)]
dm log: clean up bit little endian bitops

Using __test_and_{set,clear}_bit_le() with ignoring its return value
can be replaced with __{set,clear}_bit_le().

This also removes unnecessary casts.

Signed-off-by: Akinobu Mita <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm table: fix discard support
Mike Snitzer [Tue, 2 Aug 2011 11:32:01 +0000 (12:32 +0100)]
dm table: fix discard support

Remove 'discards_supported' from the dm_table structure.  The same
information can be easily discovered from the table's target(s) in
dm_table_supports_discards().

Before this fix dm_table_supports_discards() would skip checking the
individual targets' 'discards_supported' flag if any one target in the
table didn't set num_discard_requests > 0.  Now the per-target
'discards_supported' flag is effective at insuring the final DM device
advertises discard support.  But, to be clear, targets that don't
support discards (!num_discard_requests) will not receive discard
requests.

Also DMWARN if a target sets 'discards_supported' override but forgets
to set 'num_discard_requests'.

Signed-off-by: Mike Snitzer <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm: suppress endian warnings
Alasdair G Kergon [Tue, 2 Aug 2011 11:32:01 +0000 (12:32 +0100)]
dm: suppress endian warnings

Suppress sparse warnings about cpu_to_le32() by using __le32 types for
on-disk data etc.

Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm: fix idr leak on module removal
Alasdair G Kergon [Tue, 2 Aug 2011 11:32:01 +0000 (12:32 +0100)]
dm: fix idr leak on module removal

Destroy _minor_idr when unloading the core dm module.  (Found by kmemleak.)

Cc: [email protected]
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm io: flush cpu cache with vmapped io
Mikulas Patocka [Tue, 2 Aug 2011 11:32:01 +0000 (12:32 +0100)]
dm io: flush cpu cache with vmapped io

For normal kernel pages, CPU cache is synchronized by the dma layer.
However, this is not done for pages allocated with vmalloc. If we do I/O
to/from vmallocated pages, we must synchronize CPU cache explicitly.

Prior to doing I/O on vmallocated page we must call
flush_kernel_vmap_range to flush dirty cache on the virtual address.
After finished read we must call invalidate_kernel_vmap_range to
invalidate cache on the virtual address, so that accesses to the virtual
address return newly read data and not stale data from CPU cache.

This patch fixes metadata corruption on dm-snapshots on PA-RISC and
possibly other architectures with caches indexed by virtual address.

Cc: stable <[email protected]>
Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agodm mpath: fix potential NULL pointer in feature arg processing
Mike Snitzer [Tue, 2 Aug 2011 11:32:00 +0000 (12:32 +0100)]
dm mpath: fix potential NULL pointer in feature arg processing

Avoid dereferencing a NULL pointer if the number of feature arguments
supplied is fewer than indicated.

Signed-off-by: Mike Snitzer <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
Cc: [email protected]
13 years agodm snapshot: flush disk cache when merging
Mikulas Patocka [Tue, 2 Aug 2011 11:32:00 +0000 (12:32 +0100)]
dm snapshot: flush disk cache when merging

This patch makes dm-snapshot flush disk cache when writing metadata for
merging snapshot.

Without cache flushing the disk may reorder metadata write and other
data writes and there is a possibility of data corruption in case of
power fault.

Cc: [email protected]
Signed-off-by: Mikulas Patocka <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
13 years agobnx2x: Prevent restarting Tx during bnx2x_nic_unload
Vladislav Zolotarov [Tue, 2 Aug 2011 08:35:43 +0000 (01:35 -0700)]
bnx2x: Prevent restarting Tx during bnx2x_nic_unload

Tx queues were stopped before  bp->state was changed to a value different
from BNX2X_STATE_OPEN, which allowed the bnx2x_tx_int() called from the
NAPI context to re-enable it. This then allowed the netdev->ndo_start_xmit()
to be called in the middle of the function reset and rings freeing.

This patch changes bp->state to a value different
from BNX2X_STATE_OPEN BEFORE disabling the Tx queues in order to restore the
broken protection against the above race in the bnx2x_tx_int().

Signed-off-by: Vladislav Zolotarov <[email protected]>
Signed-off-by: Eilon Greenstein <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agowatchdog: Cleanup WATCHDOG_CORE help text
Josh Boyer [Sat, 30 Jul 2011 14:18:48 +0000 (10:18 -0400)]
watchdog: Cleanup WATCHDOG_CORE help text

The newly added WATCHDOG_CORE option is a bool, but the help text suggests
it can be built as a module.  Fix it up.

Signed-off-by: Josh Boyer <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
13 years agowatchdog: Fix POST failure on ASUS P5N32-E SLI and similar boards
Mart Gerrits [Sat, 30 Jul 2011 14:59:12 +0000 (16:59 +0200)]
watchdog: Fix POST failure on ASUS P5N32-E SLI and similar boards

At present the module does not unset the NO_REBOOT bit upon shutdown, this
causes the BIOS to fail the POST once and reset. During the next boot it
displays the following error message:

***** Warning: System BOOT Fail *****
Your system last boot fail or POST interrupted.
Please enter setup to load default and reboot again.
Press F1 to continue, DEL to enter SETUP

With this patch the NO_REBOOT flag will be unset on shutdown and thus stop
this failure from occurring.

Tested on 'ASUS P5N32-E SLI with BIOS revision 1801' and
          'ASUS P5N32-E SLI PLUS with BIOS revision 1502'.

Signed-off-by: Mart Gerrits <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
13 years agowatchdog: shwdt: fix usage of mod_timer
David Engraf [Wed, 20 Jul 2011 13:03:39 +0000 (15:03 +0200)]
watchdog: shwdt: fix usage of mod_timer

Fix the usage of mod_timer() and make the driver usable. mod_timer() must
be called with an absolute timeout in jiffies. The old implementation
used a relative timeout thus the hardware watchdog was never triggered.

Signed-off-by: David Engraf <[email protected]>
Signed-off-by: Paul Mundt <[email protected]>
Signed-off-by: Wim Van sebroeck <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Cc: stable <[email protected]>
13 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Tue, 2 Aug 2011 08:08:54 +0000 (10:08 +0200)]
Merge branch 'fix/asoc' into for-linus

13 years agoALSA: asihpi - Clarify adapter index validity check
Eliot Blennerhassett [Mon, 1 Aug 2011 21:44:24 +0000 (09:44 +1200)]
ALSA: asihpi - Clarify adapter index validity check

Avoids assigning possibly invalid address to pa, even if it
is never dereferenced.
Correct error response to reflect request object/function ids.

Signed-off-by: Eliot Blennerhassett <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
13 years agoACPI print OSI(Linux) warning only once
Len Brown [Tue, 2 Aug 2011 04:45:48 +0000 (00:45 -0400)]
ACPI print OSI(Linux) warning only once

This message gets repeated on some machines:
https://bugzilla.kernel.org/show_bug.cgi?id=29292

Signed-off-by: Len Brown <[email protected]>
13 years agofix block device fallout from ->fsync() changes
Rafael J. Wysocki [Tue, 2 Aug 2011 00:17:48 +0000 (02:17 +0200)]
fix block device fallout from ->fsync() changes

blkdev_fsync() needs to write pages in pagecache...

Signed-off-by: Rafael J. Wysocki <[email protected]>
Signed-off-by: Al Viro <[email protected]>
13 years agooom: task->mm == NULL doesn't mean the memory was freed
Oleg Nesterov [Sat, 30 Jul 2011 14:35:02 +0000 (16:35 +0200)]
oom: task->mm == NULL doesn't mean the memory was freed

exit_mm() sets ->mm == NULL then it does mmput()->exit_mmap() which
frees the memory.

However select_bad_process() checks ->mm != NULL before TIF_MEMDIE,
so it continues to kill other tasks even if we have the oom-killed
task freeing its memory.

Change select_bad_process() to check ->mm after TIF_MEMDIE, but skip
the tasks which have already passed exit_notify() to ensure a zombie
with TIF_MEMDIE set can't block oom-killer. Alternatively we could
probably clear TIF_MEMDIE after exit_mmap().

Signed-off-by: Oleg Nesterov <[email protected]>
Reviewed-by: KOSAKI Motohiro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
13 years agonet: add kerneldoc to skb_copy_bits()
Eric Dumazet [Fri, 29 Jul 2011 18:37:31 +0000 (18:37 +0000)]
net: add kerneldoc to skb_copy_bits()

Since skb_copy_bits() is called from assembly, add a fat comment to make
clear we should think twice before changing its prototype.

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agoDocumentation/bonding.txt: Update to 3.x version numbers
Jesper Juhl [Tue, 2 Aug 2011 00:59:44 +0000 (17:59 -0700)]
Documentation/bonding.txt: Update to 3.x version numbers

Signed-off-by: Jesper Juhl <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agodoc: Update the email address for Paul Moore in various source files
Paul Moore [Mon, 1 Aug 2011 11:10:33 +0000 (11:10 +0000)]
doc: Update the email address for Paul Moore in various source files

My @hp.com will no longer be valid starting August 5, 2011 so an update is
necessary.  My new email address is employer independent so we don't have
to worry about doing this again any time soon.

Signed-off-by: Paul Moore <[email protected]>
Signed-off-by: Paul Moore <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agodoc: Update the MAINTAINERS info for Paul Moore
Paul Moore [Mon, 1 Aug 2011 11:10:26 +0000 (11:10 +0000)]
doc: Update the MAINTAINERS info for Paul Moore

My @hp.com will no longer be valid starting August 5, 2011 so an update is
necessary.  My new email address is employer independent so we don't have
to worry about doing this again any time soon.

Signed-off-by: Paul Moore <[email protected]>
Signed-off-by: Paul Moore <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agoatm: br2864: sent packets truncated in VC routed mode
Chas Williams [Tue, 2 Aug 2011 00:56:14 +0000 (17:56 -0700)]
atm: br2864: sent packets truncated in VC routed mode

Reported-by: Pascal Hambourg <[email protected]>
Signed-off-by: Chas Williams <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6
Linus Torvalds [Tue, 2 Aug 2011 00:05:46 +0000 (14:05 -1000)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (23 commits)
  regulator: Improve WM831x DVS VSEL selection algorithm
  regulator: Bootstrap wm831x DVS VSEL value from ON VSEL if not already set
  regulator: Set up GPIO for WM831x VSEL before enabling VSEL mode
  regulator: Add EPEs to the MODULE_ALIAS() for wm831x-dcdc
  regulator: Fix WM831x DCDC DVS VSEL bootstrapping
  regulator: Fix WM831x regulator ID lookups for multiple WM831xs
  regulator: Fix argument format type errors in error prints
  regulator: Fix memory leak in set_machine_constraints() error paths
  regulator: Make core more chatty about some errors
  regulator: tps65910: Fix array access out of bounds bug
  regulator: tps65910: Add missing breaks in switch/case
  regulator: tps65910: Fix a memory leak in tps65910_probe error path
  regulator: TWL: Remove entry of RES_ID for 6030 macros
  ASoC: tlv320aic3x: Add correct hw registers to Line1 cross connect muxes
  regulator: Add basic per consumer debugfs
  regulator: Add rdev_crit() macro
  regulator: Refactor supply implementation to work as regular consumers
  regulator: Include the device name in the microamps_requested_ file
  regulator: Increase the limit on sysfs file names
  regulator: Properly register dummy regulator driver
  ...

13 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Linus Torvalds [Mon, 1 Aug 2011 23:56:03 +0000 (13:56 -1000)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (60 commits)
  ext4: prevent memory leaks from ext4_mb_init_backend() on error path
  ext4: use EXT4_BAD_INO for buddy cache to avoid colliding with valid inode #
  ext4: use ext4_msg() instead of printk in mballoc
  ext4: use ext4_kvzalloc()/ext4_kvmalloc() for s_group_desc and s_group_info
  ext4: introduce ext4_kvmalloc(), ext4_kzalloc(), and ext4_kvfree()
  ext4: use the correct error exit path in ext4_init_inode_table()
  ext4: add missing kfree() on error return path in add_new_gdb()
  ext4: change umode_t in tracepoint headers to be an explicit __u16
  ext4: fix races in ext4_sync_parent()
  ext4: Fix overflow caused by missing cast in ext4_fallocate()
  ext4: add action of moving index in ext4_ext_rm_idx for Punch Hole
  ext4: simplify parameters of reserve_backup_gdb()
  ext4: simplify parameters of add_new_gdb()
  ext4: remove lock_buffer in bclean() and setup_new_group_blocks()
  ext4: simplify journal handling in setup_new_group_blocks()
  ext4: let setup_new_group_blocks() set multiple bits at a time
  ext4: fix a typo in ext4_group_extend()
  ext4: let ext4_group_add_blocks() handle 0 blocks quickly
  ext4: let ext4_group_add_blocks() return an error code
  ext4: rename ext4_add_groupblocks() to ext4_group_add_blocks()
  ...

Fix up conflict in fs/ext4/inode.c: commit aacfc19c626e ("fs: simplify
the blockdev_direct_IO prototype") had changed the ext4_ind_direct_IO()
function for the new simplified calling convention, while commit
dae1e52cb126 ("ext4: move ext4_ind_* functions from inode.c to
indirect.c") moved the function to another file.

13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
Linus Torvalds [Mon, 1 Aug 2011 23:48:31 +0000 (13:48 -1000)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
  xfs: Fix build breakage in xfs_iops.c when CONFIG_FS_POSIX_ACL is not set
  VFS: Reorganise shrink_dcache_for_umount_subtree() after demise of dcache_lock
  VFS: Remove dentry->d_lock locking from shrink_dcache_for_umount_subtree()
  VFS: Remove detached-dentry counter from shrink_dcache_for_umount_subtree()
  switch posix_acl_chmod() to umode_t
  switch posix_acl_from_mode() to umode_t
  switch posix_acl_equiv_mode() to umode_t *
  switch posix_acl_create() to umode_t *
  block: initialise bd_super in bdget()
  vfs: avoid call to inode_lru_list_del() if possible
  vfs: avoid taking inode_hash_lock on pipes and sockets
  vfs: conditionally call inode_wb_list_del()
  VFS: Fix automount for negative autofs dentries
  Btrfs: load the key from the dir item in readdir into a fake dentry
  devtmpfs: missing initialialization in never-hit case
  hppfs: missing include

13 years agoMerge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
Linus Torvalds [Mon, 1 Aug 2011 23:46:37 +0000 (13:46 -1000)]
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma

* 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (37 commits)
  Improve slave/cyclic DMA engine documentation
  dmaengine: pl08x: handle the rest of enums in pl08x_width
  DMA: PL08x: cleanup selection of burst size
  DMA: PL08x: avoid recalculating cctl at each prepare
  DMA: PL08x: cleanup selection of buswidth
  DMA: PL08x: constify plchan->cd and plat->slave_channels
  DMA: PL08x: separately store source/destination cctl
  DMA: PL08x: separately store source/destination slave address
  DMA: PL08x: clean up LLI debugging
  DMA: PL08x: select LLI bus only once per LLI setup
  DMA: PL08x: remove unused constants
  ARM: mxs-dma: reset after disable channel
  dma: intel_mid_dma: remove redundant pci_set_drvdata calls
  dma: mxs-dma: fix unterminated platform_device_id table
  dmaengine: pl330: make platform data optional
  dmaengine: imx-sdma: return proper error if kzalloc fails
  pch_dma: Fix CTL register access issue
  dmaengine: mxs-dma: skip request_irq for NO_IRQ
  dmaengine/coh901318: fix slave submission semantics
  dmaengine/ste_dma40: allow memory buswidth/burst to be configured
  ...

Fix trivial whitespace conflict in drivers/dma/mv_xor.c

13 years agoMerge branch 'gpiolib' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Mon, 1 Aug 2011 23:41:43 +0000 (13:41 -1000)]
Merge branch 'gpiolib' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6

* 'gpiolib' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] Hook up gpiolib support

13 years agoMerge branch 'pstore-efi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Mon, 1 Aug 2011 23:40:51 +0000 (13:40 -1000)]
Merge branch 'pstore-efi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6

* 'pstore-efi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  efivars: Introduce PSTORE_EFI_ATTRIBUTES
  efivars: Use string functions in pstore_write
  efivars: introduce utf16_strncmp
  efivars: String functions
  efi: Add support for using efivars as a pstore backend
  pstore: Allow the user to explicitly choose a backend
  pstore: Make "part" unsigned
  pstore: Add extra context for writes and erases
  pstore: Extend API for more flexibility in new backends

13 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel...
Linus Torvalds [Mon, 1 Aug 2011 23:39:40 +0000 (13:39 -1000)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
  kdb,kgdb: Allow arbitrary kgdb magic knock sequences
  kdb: Remove all references to DOING_KGDB2
  kdb,kgdb: Implement switch and pass buffer from kdb -> gdb
  kdb: cleanup unused variables missed in the original kdb merge

13 years agodrm/i915/dp: wait for previous AUX channel activity to clear
Jesse Barnes [Mon, 1 Aug 2011 22:02:20 +0000 (15:02 -0700)]
drm/i915/dp: wait for previous AUX channel activity to clear

Before initiating a new read or write on the DP AUX channel, wait for
any outstanding activity to complete.  This may happen during normal
retry behavior.  If the wait fails (i.e. after 1ms the AUX channel is
still busy) dump a backtrace to make the caller easier to spot.

v2: use msleep instead, and timeout after 3ms (only ever saw 1 retry
    with msleep in testing)
v3: fix backtrace check to trigger if the 3ms wait times out

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=38136.

Signed-off-by: Jesse Barnes <[email protected]>
Reviewed-by: Keith Packard <[email protected]>
Signed-off-by: Keith Packard <[email protected]>
13 years agodrm/i915: don't use uninitialized EDID bpc values when picking pipe bpp
Jesse Barnes [Thu, 28 Jul 2011 19:55:14 +0000 (12:55 -0700)]
drm/i915: don't use uninitialized EDID bpc values when picking pipe bpp

The EDID parser will zero out the bpc value, and the driver needs to handle
that case.  In our picker, we'll just ignore 0 values as far as bpp
picking goes.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=39323.

Signed-off-by: Jesse Barnes <[email protected]>
Signed-off-by: Keith Packard <[email protected]>
13 years agoext4: prevent memory leaks from ext4_mb_init_backend() on error path
Yu Jian [Mon, 1 Aug 2011 21:41:46 +0000 (17:41 -0400)]
ext4: prevent memory leaks from ext4_mb_init_backend() on error path

In ext4_mb_init(), if the s_locality_group allocation fails it will
currently cause the allocations made in ext4_mb_init_backend() to
be leaked.  Moving the ext4_mb_init_backend() allocation after the
s_locality_group allocation avoids that problem.

Signed-off-by: Yu Jian <[email protected]>
Signed-off-by: Andreas Dilger <[email protected]>
Signed-off-by: "Theodore Ts'o" <[email protected]>
13 years agoext4: use EXT4_BAD_INO for buddy cache to avoid colliding with valid inode #
Yu Jian [Mon, 1 Aug 2011 21:41:39 +0000 (17:41 -0400)]
ext4: use EXT4_BAD_INO for buddy cache to avoid colliding with valid inode #

Signed-off-by: Yu Jian <[email protected]>
Signed-off-by: Andreas Dilger <[email protected]>
Signed-off-by: "Theodore Ts'o" <[email protected]>
13 years agoext4: use ext4_msg() instead of printk in mballoc
Theodore Ts'o [Mon, 1 Aug 2011 21:41:35 +0000 (17:41 -0400)]
ext4: use ext4_msg() instead of printk in mballoc

Signed-off-by: "Theodore Ts'o" <[email protected]>
13 years agoBtrfs: don't call writepages from within write_full_page
Josef Bacik [Mon, 1 Aug 2011 18:37:36 +0000 (14:37 -0400)]
Btrfs: don't call writepages from within write_full_page

When doing a writepage we call writepages to try and write out any other dirty
pages in the area.  This could cause problems where we commit a transaction and
then have somebody else dirtying metadata in the area as we could end up writing
out a lot more than we care about, which could cause latency on anybody who is
waiting for the transaction to completely finish committing.  Thanks,

Signed-off-by: Josef Bacik <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: Remove unused variable 'last_index' in file.c
Mitch Harder [Tue, 12 Jul 2011 19:43:45 +0000 (19:43 +0000)]
Btrfs: Remove unused variable 'last_index' in file.c

The variable 'last_index' is calculated in the __btrfs_buffered_write
function and passed as a parameter to the prepare_pages function,
but is not used anywhere in the prepare_pages function.

Remove instances of 'last_index' in these functions.

Signed-off-by: Mitch Harder <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: clean up for find_first_extent_bit()
Xiao Guangrong [Thu, 14 Jul 2011 03:19:45 +0000 (03:19 +0000)]
Btrfs: clean up for find_first_extent_bit()

find_first_extent_bit() and find_first_extent_bit_state() share
most of the code, and we can just make the former call the latter.

Signed-off-by: Xiao Guangrong <[email protected]>
Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: clean up for wait_extent_bit()
Xiao Guangrong [Thu, 14 Jul 2011 03:19:27 +0000 (03:19 +0000)]
Btrfs: clean up for wait_extent_bit()

We can just use cond_resched_lock().

Signed-off-by: Xiao Guangrong <[email protected]>
Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: clean up for insert_state()
Xiao Guangrong [Thu, 14 Jul 2011 03:19:08 +0000 (03:19 +0000)]
Btrfs: clean up for insert_state()

Don't duplicate set_state_bits().

Signed-off-by: Xiao Guangrong <[email protected]>
Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: remove unused members from struct extent_state
Xiao Guangrong [Thu, 14 Jul 2011 03:18:52 +0000 (03:18 +0000)]
Btrfs: remove unused members from struct extent_state

These members are not used at all.

Signed-off-by: Xiao Guangrong <[email protected]>
Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: clean up code for merging extent maps
Li Zefan [Thu, 14 Jul 2011 03:18:33 +0000 (03:18 +0000)]
Btrfs: clean up code for merging extent maps

unpin_extent_cache() and add_extent_mapping() shares the same code
that merges extent maps.

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: clean up code for extent_map lookup
Li Zefan [Thu, 14 Jul 2011 03:18:15 +0000 (03:18 +0000)]
Btrfs: clean up code for extent_map lookup

lookup_extent_map() and search_extent_map() can share most of code.

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: clean up search_extent_mapping()
Li Zefan [Thu, 14 Jul 2011 03:18:03 +0000 (03:18 +0000)]
Btrfs: clean up search_extent_mapping()

rb_node returned by __tree_search() can be a valid pointer or NULL,
but won't be some errno.

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: remove redundant code for dir item lookup
Li Zefan [Thu, 14 Jul 2011 03:17:52 +0000 (03:17 +0000)]
Btrfs: remove redundant code for dir item lookup

When we search a dir item with a specific hash code, we can
just return NULL without further checking if btrfs_search_slot()
returns 1.

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: make acl functions really no-op if acl is not enabled
Li Zefan [Thu, 14 Jul 2011 03:17:39 +0000 (03:17 +0000)]
Btrfs: make acl functions really no-op if acl is not enabled

So there's no overhead for something we don't use.

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: remove remaining ref-cache code
Li Zefan [Thu, 14 Jul 2011 03:17:27 +0000 (03:17 +0000)]
Btrfs: remove remaining ref-cache code

Since commit f2a97a9dbd86eb1ef956bdf20e05c507b32beb96
("btrfs: remove all unused functions"), there's no extern functions
at all in ref-cache.c, so just remove the remaining dead code.

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: remove a BUG_ON() in btrfs_commit_transaction()
Li Zefan [Thu, 14 Jul 2011 03:17:14 +0000 (03:17 +0000)]
Btrfs: remove a BUG_ON() in btrfs_commit_transaction()

wait_for_commit() always returns 0.

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: use wait_event()
Li Zefan [Thu, 14 Jul 2011 03:17:00 +0000 (03:17 +0000)]
Btrfs: use wait_event()

Use wait_event() when possible to avoid code duplication.

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: check the nodatasum flag when writing compressed files
Li Zefan [Thu, 14 Jul 2011 03:16:47 +0000 (03:16 +0000)]
Btrfs: check the nodatasum flag when writing compressed files

If mounting with nodatasum option, we won't csum file data for
general write or direct-io write, and this rule should also be
applied when writing compressed files.

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: copy string correctly in INO_LOOKUP ioctl
Li Zefan [Thu, 14 Jul 2011 03:16:00 +0000 (03:16 +0000)]
Btrfs: copy string correctly in INO_LOOKUP ioctl

Memory areas [ptr, ptr+total_len] and [name, name+total_len]
may overlap, so it's wrong to use memcpy().

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: don't print the leaf if we had an error
Josef Bacik [Wed, 13 Jul 2011 15:03:50 +0000 (15:03 +0000)]
Btrfs: don't print the leaf if we had an error

In __btrfs_free_extent we will print the leaf if we fail to find the extent we
wanted, but the problem is if we get an error we won't have a leaf so often this
leads to a NULL pointer dereference and we lose the error that actually
occurred.  So only print the leaf if ret > 0, which means we didn't find the
item we were looking for but we didn't error either.  This way the error is
preserved.

Signed-off-by: Josef Bacik <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agobtrfs: make btrfs_set_root_node void
Mark Fasheh [Thu, 14 Jul 2011 21:23:06 +0000 (21:23 +0000)]
btrfs: make btrfs_set_root_node void

This is fairly trivial - btrfs_set_root_node() - always returns zero so we
can just make it void.  All callers ignore the return code now anyway.  I
also made sure to check that none of the functions that
btrfs_set_root_node() calls returns an error that we might have needed to
catch and pass back.

Signed-off-by: Mark Fasheh <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: fix oops while writing data to SSD partitions
liubo [Wed, 27 Jul 2011 09:49:18 +0000 (09:49 +0000)]
Btrfs: fix oops while writing data to SSD partitions

Here I have a two SSD-partitions btrfs, and they are defaultly set to
"data=raid0, metadata=raid1", then I try to fill my btrfs partition
till "No space left on device", via "dd if=/dev/zero of=/mnt/btrfs/tmp".

I get an oops panic from kernel BUG at fs/btrfs/extent-tree.c:5199!, which
refers to find_free_extent's
BUG_ON(index != get_block_group_index(block_group));

In SSD mode, in order to find enough space to alloc, we may check the
block_group cache which has been checked sometime before, but the index is not
updated, where it hits the BUG_ON.

Signed-off-by: Liu Bo <[email protected]>
Acked-by: Josef Bacik <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: Protect the readonly flag of block group
WuBo [Tue, 26 Jul 2011 03:30:11 +0000 (03:30 +0000)]
Btrfs: Protect the readonly flag of block group

The access for ro in btrfs_block_group_cache should be protected
because of the racy lock in relocation.

Signed-off-by: Wu Bo <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agobtrfs: Make extent-io callbacks that never fail return void
Jeff Mahoney [Thu, 21 Jul 2011 16:56:09 +0000 (16:56 +0000)]
btrfs: Make extent-io callbacks that never fail return void

The set/clear bit and the extent split/merge hooks only ever return 0.

 Changing them to return void simplifies the error handling cases later.

 This patch changes the hook prototypes, the single implementation of each,
 and the functions that call them to return void instead.

 Since all four of these hooks execute under a spinlock, they're necessarily
 simple.

Signed-off-by: Jeff Mahoney <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: fix readahead in file defrag
Li Zefan [Wed, 20 Jul 2011 03:46:35 +0000 (03:46 +0000)]
Btrfs: fix readahead in file defrag

We passed the wrong value to btrfs_force_ra(). Fix this by changing
the argument of btrfs_force_ra() from last_index to nr_page.

Signed-off-by: Li Zefan <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs: return error to caller when btrfs_unlink() failes
Tsutomu Itoh [Tue, 19 Jul 2011 07:27:20 +0000 (07:27 +0000)]
Btrfs: return error to caller when btrfs_unlink() failes

When btrfs_unlink_inode() and btrfs_orphan_add() in btrfs_unlink()
are error, the error code is returned to the caller instead of
BUG_ON().

Signed-off-by: Tsutomu Itoh <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoBtrfs:don't check the return value of __btrfs_add_inode_defrag
Wanlong Gao [Mon, 18 Jul 2011 12:19:35 +0000 (12:19 +0000)]
Btrfs:don't check the return value of __btrfs_add_inode_defrag

Don't need to check the return value of __btrfs_add_inode_defrag(),
since it will always return 0.

Signed-off-by: Wanlong Gao <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
13 years agoMerge branch 'alloc_path' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh...
Chris Mason [Mon, 1 Aug 2011 18:27:34 +0000 (14:27 -0400)]
Merge branch 'alloc_path' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/btrfs-error-handling into for-linus

13 years agokdb,kgdb: Allow arbitrary kgdb magic knock sequences
Jason Wessel [Tue, 24 May 2011 15:43:06 +0000 (10:43 -0500)]
kdb,kgdb: Allow arbitrary kgdb magic knock sequences

The first packet that gdb sends when the kernel is in kdb mode seems
to change with every release of gdb.  Instead of continuing to add
many different gdb packets, change kdb to automatically look for any
thing that looks like a gdb packet.

Example 1 cold start test:
echo g > /proc/sysrq-trigger
$D#44+

Example 2 cold start test:
echo g > /proc/sysrq-trigger
$3#33

The second one should re-enter kdb's shell right away and is purely a
test.

Signed-off-by: Jason Wessel <[email protected]>
13 years agokdb: Remove all references to DOING_KGDB2
Jason Wessel [Mon, 23 May 2011 18:22:54 +0000 (13:22 -0500)]
kdb: Remove all references to DOING_KGDB2

The DOING_KGDB2 was originally a state variable for one of the two
ways to automatically transition from kdb to kgdb.  Purge all these
variables and just use one single state for the transition.

Signed-off-by: Jason Wessel <[email protected]>
13 years agokdb,kgdb: Implement switch and pass buffer from kdb -> gdb
Jason Wessel [Mon, 23 May 2011 18:17:41 +0000 (13:17 -0500)]
kdb,kgdb: Implement switch and pass buffer from kdb -> gdb

When switching from kdb mode to kgdb mode packets were getting lost
depending on the size of the fifo queue of the serial chip.  When gdb
initially connects if it is in kdb mode it should entirely send any
character buffer over to the gdbstub when switching connections.

Previously kdb was zero'ing out the character buffer and this could
lead to gdb failing to connect at all, or a lengthy pause could occur
on the initial connect.

Signed-off-by: Jason Wessel <[email protected]>
13 years agokdb: cleanup unused variables missed in the original kdb merge
Jason Wessel [Thu, 30 Jun 2011 19:12:00 +0000 (14:12 -0500)]
kdb: cleanup unused variables missed in the original kdb merge

The BTARGS and BTSYMARG variables do not have any function in the
mainline version of kdb.

Reported-by: Tim Bird <[email protected]>
Signed-off-by: Jason Wessel <[email protected]>
13 years agort2x00: rt2800: fix zeroing skb structure
Stanislaw Gruszka [Sat, 30 Jul 2011 11:32:56 +0000 (13:32 +0200)]
rt2x00: rt2800: fix zeroing skb structure

We should clear skb->data not skb itself. Bug was introduced by:
commit 0b8004aa12d13ec750d102ba4082a95f0107c649 "rt2x00: Properly
reserve room for descriptors in skbs".

Cc: [email protected] # 2.6.36+
Signed-off-by: Stanislaw Gruszka <[email protected]>
Acked-by: Gertjan van Wingerde <[email protected]>
Acked-by: Ivo van Doorn <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
13 years agortlwifi: Fix kernel oops on ARM SOC
Larry Finger [Fri, 29 Jul 2011 15:53:12 +0000 (10:53 -0500)]
rtlwifi: Fix kernel oops on ARM SOC

This driver uses information from the self member of the pci_bus struct to
get information regarding the bridge to which the PCIe device is attached.
Unfortunately, this member is not established on all architectures, which
leads to a kernel oops.

Skipping the entire block that uses the self member to determine the bridge
vendor will only affect RTL8192DE devices as that driver sets the ASPM support
flag differently when the bridge vendor is Intel. If the self member is
available, there is no functional change.

This patch fixes Bugzilla No. 40212.

Reported-by: Hubert Liao <[email protected]>
Signed-off-by: Larry Finger <[email protected]>
Cc: Stable <[email protected]> [back to 2.6.38]
Signed-off-by: John W. Linville <[email protected]>
13 years agoath9k: skip ->config_pci_powersave() if PCIe port has ASPM disabled
Stanislaw Gruszka [Fri, 29 Jul 2011 13:59:08 +0000 (15:59 +0200)]
ath9k: skip ->config_pci_powersave() if PCIe port has ASPM disabled

We receive many bug reports about system hang during suspend/resume
when ath9k driver is in use. Adrian Chadd remarked that this problem
happens on systems that have ASPM disabled.

To do not hit the bug, skip doing ->config_pci_powersave magic if PCIe
downstream port device, which ath9k device is connected to, has ASPM
disabled.

Bug was introduced by:

commit 53bc7aa08b48e5cd745f986731cc7dc24eef2a9f
Author: Vivek Natarajan <[email protected]>
Date:   Mon Apr 5 14:48:04 2010 +0530

    ath9k: Add support for newer AR9285 chipsets.

Patch should address:
https://bugzilla.kernel.org/show_bug.cgi?id=37462
https://bugzilla.kernel.org/show_bug.cgi?id=37082
https://bugzilla.redhat.com/show_bug.cgi?id=697157

however I did not receive confirmation about that, except from Camilo
Mesias, whose system stops hang regularly with this patch (but still
hangs from time to time, but this is probably some other bug).

Tested-by: Camilo Mesias <[email protected]>
Cc: [email protected] # 2.6.35+
Signed-off-by: Stanislaw Gruszka <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
13 years agocfg80211: off by one in nl80211_trigger_scan()
Dan Carpenter [Fri, 29 Jul 2011 08:52:18 +0000 (11:52 +0300)]
cfg80211: off by one in nl80211_trigger_scan()

The test is off by one so we'd read past the end of the
wiphy->bands[] array on the next line.

Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
13 years agoiwlegacy: set tx power after rxon_assoc
Stanislaw Gruszka [Wed, 27 Jul 2011 13:37:43 +0000 (15:37 +0200)]
iwlegacy: set tx power after rxon_assoc

If settings of tx power was deferred during scan or changing channel we
have to setup them during commit rxon. Fix problem on 3945 (4965 already
has this fix).

Optimize code to apply tx settings only when tx power was actually
changed.

Cc: [email protected] # 2.6.39+
Signed-off-by: Stanislaw Gruszka <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
13 years agoath9k: initialize tx chainmask before testing channel tx power values
Felix Fietkau [Wed, 27 Jul 2011 13:01:02 +0000 (15:01 +0200)]
ath9k: initialize tx chainmask before testing channel tx power values

With an uninitialized chainmask, the per-channel power will only contain
the power limits for a single chain instead of the combined tx power.

Signed-off-by: Felix Fietkau <[email protected]>
Cc: [email protected]
Signed-off-by: John W. Linville <[email protected]>
13 years agoMerge branch 'for-next' into for-linus
Liam Girdwood [Mon, 1 Aug 2011 17:25:06 +0000 (18:25 +0100)]
Merge branch 'for-next' into for-linus

13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Mon, 1 Aug 2011 16:14:25 +0000 (06:14 -1000)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  CIFS: Cleanup demupltiplex thread exiting code
  CIFS: Move mid search to a separate function
  CIFS: Move RFC1002 check to a separate function
  CIFS: Simplify socket reading in demultiplex thread
  CIFS: Move buffer allocation to a separate function
  cifs: remove unneeded variable initialization in cifs_reconnect_tcon
  cifs: simplify refcounting for oplock breaks
  cifs: fix compiler warning in CIFSSMBQAllEAs
  cifs: fix name parsing in CIFSSMBQAllEAs
  cifs: don't start signing too early
  cifs: trivial: goto out here is unnecessary
  cifs: advertise the right receive buffer size to the server

13 years agoMerge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6
Linus Torvalds [Mon, 1 Aug 2011 16:13:48 +0000 (06:13 -1000)]
Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6

* 'gpio/next' of git://git.secretlab.ca/git/linux-2.6:
  gpio_msm: Move Qualcomm MSM v2 gpio driver into drivers
  gpio_msm: Move Qualcomm v6 MSM driver into drivers
  msm: gpio: Fold register defs into C file
  msm: gpiomux: Move public API to public header
  msm: gpio: Remove ifdefs on gpio chip registers
  msm: gpio: Remove chip-specific register definitions
  msm: Remove chip-ifdefs for GPIO io mappings
  msm: gpio: Remove unsupported devices
  gpio: ab8500: fix MODULE_ALIAS for ab8500
  of/gpio: export of_gpio_simple_xlate

This page took 0.11159 seconds and 4 git commands to generate.