aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-06-11Btrfs: handle error returns from btrfs_lookup_dir_item()Dan Carpenter1-0/+2
If btrfs_lookup_dir_item() fails, we should can just let the mount fail with an error. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-06-11Btrfs: Fix BUG_ON for fs converted from extNYan, Zheng1-1/+2
Tree blocks can live in data block groups in FS converted from extN. So it's easy to trigger the BUG_ON. Signed-off-by: Yan Zheng <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-06-11Btrfs: Fix null dereference in relocation.cYan, Zheng1-3/+4
Fix a potential null dereference in relocation.c Signed-off-by: Yan Zheng <[email protected]> Acked-by: Dan Carpenter <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-06-11Merge branch 'wimax-2.6.35.y' of ↵David S. Miller1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax
2010-06-11wimax/i2400m: fix missing endian correction read in fw loaderInaky Perez-Gonzalez1-1/+1
i2400m_fw_hdr_check() was accessing hardware field bcf_hdr->module_type (little endian 32) without converting to host byte sex. Reported-by: Данилин Михаил <[email protected]> Signed-off-by: Inaky Perez-Gonzalez <[email protected]>
2010-06-11Merge branch 'rc-fixes' of ↵Linus Torvalds2-2/+7
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: kbuild: Create output directory in Makefile.modbuiltin kbuild: Generate modules.builtin in make modules
2010-06-11Merge branch 'urgent' of ↵Linus Torvalds3-10/+11
git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: pcmcia: avoid validate_cis failure on CIS override pcmcia: dev_node removal bugfix pcmcia: yenta_socket.c Remove extra #ifdef CONFIG_YENTA_TI pcmcia: only keep saved I365_CSCINT flag if there is no PCI irq
2010-06-11Merge branch 'for-linus' of ↵Linus Torvalds6-51/+84
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: try to send partial cap release on cap message on missing inode ceph: release cap on import if we don't have the inode ceph: fix misleading/incorrect debug message ceph: fix atomic64_t initialization on ia64 ceph: fix lease revocation when seq doesn't match ceph: fix f_namelen reported by statfs ceph: fix memory leak in statfs ceph: fix d_subdirs ordering problem
2010-06-11ALSA: usb-audio: fix UAC2 control value queriesDaniel Mack1-5/+14
For RANGE requests, we should only query as much bytes as we're in fact interested in. For CUR requests, we shouldn't confuse the firmware with an overlong request but just ask for 2 bytes. This might need fixing in the future as it's not entirely clear when to dispatch 1-byte, 2-byte and 4-byte request blocks. For now, we assume everything is coded in 16bit - this works for all firmware implementations I've seen. Signed-off-by: Daniel Mack <[email protected]> Reported-by: Alex Lee <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-06-11ALSA: usb-audio: parse UAC2 sample rate ranges correctlyDaniel Mack1-18/+74
A device may report its supported sample rates in ranges rather than in discrete triplets. The code used to only parse the MIN field instead of properly paying attention to the MAX and RES values. Also, handle RES values of 1 correctly and announce a continous sample rate range in this case. Signed-off-by: Daniel Mack <[email protected]> Reported-by: Alex Lee <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-06-11ALSA: usb-audio: fix control messages for USB_RECIP_INTERFACEDaniel Mack3-6/+16
Control messages directed to an interface must have the interface number set in the lower 8 bits of wIndex. This wasn't done correctly for some clock and mixer messages. Signed-off-by: Daniel Mack <[email protected]> Reported-by: Alex Lee <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-06-11ALSA: usb-audio: add check for faulty clock in parse_audio_format_rates_v2()Daniel Mack1-0/+6
Signed-off-by: Daniel Mack <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-06-11Btrfs: fix remap_file_pages errorMiao Xie1-1/+8
when we use remap_file_pages() to remap a file, remap_file_pages always return error. It is because btrfs didn't set VM_CAN_NONLINEAR for vma. Signed-off-by: Miao Xie <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-06-11Btrfs: uninitialized data is check_path_shared()Dan Carpenter1-1/+1
refs can be used with uninitialized data if btrfs_lookup_extent_info() fails on the first pass through the loop. In the original code if that happens then check_path_shared() probably returns 1, this patch changes it to return 1 for safety. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-06-11Btrfs: fix fallocate regressionJosef Bacik1-1/+1
Seems that when btrfs_fallocate was converted to use the new ENOSPC stuff we dropped passing the mode to the function that actually does the preallocation. This breaks anybody who wants to use FALLOC_FL_KEEP_SIZE. Thanks, Signed-off-by: Josef Bacik <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-06-11Btrfs: fix loop device on top of btrfsMiao Xie1-0/+1
We cannot use the loop device which has been connected to a file in the btrf The reproduce steps is following: # dd if=/dev/zero of=vdev0 bs=1M count=1024 # losetup /dev/loop0 vdev0 # mkfs.btrfs /dev/loop0 ... failed to zero device start -5 The reason is that the btrfs don't implement either ->write_begin or ->write the VFS API, so we fix it by setting ->write to do_sync_write(). Signed-off-by: Miao Xie <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2010-06-11writeback: fix pin_sb_for_writebackChristoph Hellwig1-8/+10
We need to check for s_instances to make sure we don't bother working against a filesystem that is beeing unmounted, and we need to call put_super to make sure a superblock is freed when we race against umount. Also no need to keep sb_lock after we got a reference on it. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-11writeback: add missing requeue_io in writeback_inodes_wbChristoph Hellwig1-1/+3
In "writeback: fix writeback_inodes_wb from writeback_inodes_sb" I accidentally removed the requeue_io if we need to skip a superblock because we can't pin it. Add it back, otherwise we're getting spurious lockups after multiple xfstests runs. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-11writeback: simplify and split bdi_start_writebackChristoph Hellwig3-17/+24
bdi_start_writeback now never gets a superblock passed, so we can just remove that case. And to further untangle the code and flatten the call stack split it into two trivial helpers for it's two callers. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-11writeback: simplify wakeup_flusher_threadsChristoph Hellwig1-21/+11
bdi_writeback_all only has one caller, so fold it to simplify the code and flatten the call stack. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-11writeback: fix writeback_inodes_wb from writeback_inodes_sbChristoph Hellwig1-38/+23
When we call writeback_inodes_wb from writeback_inodes_sb we always have s_umount held, which currently makes the whole operation a no-op. But if we are called to write out inodes for a specific superblock we always have s_umount held, so replace the incorrect logic checking for WB_SYNC_ALL which only worked by coincidence with the proper check for an explicit superblock argument. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-11writeback: enforce s_umount locking in writeback_inodes_sbChristoph Hellwig2-0/+8
Make sure that not only sync_filesystem but all callers of writeback_inodes_sb have the superblock protected against remount. As-is this disables all functionality for these callers, but the next patch relies on this locking to fix writeback_inodes_sb for sync_filesystem. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-11writeback: queue work on stack in writeback_inodes_sbChristoph Hellwig1-19/+21
If we want to rely on s_umount in the caller we need to wait for completion of the I/O submission before returning to the caller. Refactor bdi_sync_writeback into a bdi_queue_work_onstack helper and use it for this case. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-11writeback: fix writeback completion notificationsChristoph Hellwig1-50/+15
The code dealing with bdi_work->state and completion of a bdi_work is a major mess currently. This patch makes sure we directly use one set of flags to deal with it, and use it consistently, which means: - always notify about completion from the rcu callback. We only ever wait for it from on-stack callers, so this simplification does not even cause a theoretical slowdown currently. It also makes sure we don't miss out on the notification if we ever add other callers to wait for it. - make earlier completion notification depending on the on-stack allocation, not the sync mode. If we introduce new callers that want to do WB_SYNC_NONE writeback from on-stack callers this will be nessecary. Also rename bdi_wait_on_work_clear to bdi_wait_on_work_done and inline a few small functions into their only caller to make the code understandable. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-11ALSA: hda - Don't check capture source mixer if no ADC is availableTakashi Iwai1-10/+12
With multiple codec configurations, some codec might have no ADC, thus it keeps spec->adc_nids = NULL. This causes an Oops in alc_build_controls(). Reference: kernel bug #16156 https://bugzilla.kernel.org/show_bug.cgi?id=16156 Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-06-11Merge branch 'tip/perf/urgent' of ↵Ingo Molnar1-1/+3
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent
2010-06-10net8139: fix a race at the end of NAPIFigo.zhang2-2/+2
fix a race at the end of NAPI complete processing, it had better do __napi_complete() first before re-enable interrupt. Signed-off-by:Figo.zhang <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-10pktgen: Fix accuracy of inter-packet delay.Daniel Turull1-1/+1
This patch correct a bug in the delay of pktgen. It makes sure the inter-packet interval is accurate. Signed-off-by: Daniel Turull <[email protected]> Signed-off-by: Robert Olsson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-10pkt_sched: gen_estimator: add a new lockEric Dumazet1-3/+12
gen_kill_estimator() / gen_new_estimator() is not always called with RTNL held. net/netfilter/xt_RATEEST.c is one user of these API that do not hold RTNL, so random corruptions can occur between "tc" and "iptables". Add a new fine grained lock instead of trying to use RTNL in netfilter. Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-10net: deliver skbs on inactive slaves to exact matchesJohn Fastabend3-6/+20
Currently, the accelerated receive path for VLAN's will drop packets if the real device is an inactive slave and is not one of the special pkts tested for in skb_bond_should_drop(). This behavior is different then the non-accelerated path and for pkts over a bonded vlan. For example, vlanx -> bond0 -> ethx will be dropped in the vlan path and not delivered to any packet handlers at all. However, bond0 -> vlanx -> ethx and bond0 -> ethx will be delivered to handlers that match the exact dev, because the VLAN path checks the real_dev which is not a slave and netif_recv_skb() doesn't drop frames but only delivers them to exact matches. This patch adds a sk_buff flag which is used for tagging skbs that would previously been dropped and allows the skb to continue to skb_netif_recv(). Here we add logic to check for the deliver_no_wcard flag and if it is set only deliver to handlers that match exactly. This makes both paths above consistent and gives pkt handlers a way to identify skbs that come from inactive slaves. Without this patch in some configurations skbs will be delivered to handlers with exact matches and in others be dropped out right in the vlan path. I have tested the following 4 configurations in failover modes and load balancing modes. # bond0 -> ethx # vlanx -> bond0 -> ethx # bond0 -> vlanx -> ethx # bond0 -> ethx | vlanx -> -- Signed-off-by: John Fastabend <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-10perf/tracing: Fix regression of perf losing kprobe eventsSteven Rostedt1-1/+3
With the addition of the code to shrink the kernel tracepoint infrastructure, we lost kprobes being traced by perf. The reason is that I tested if the "tp_event->class->perf_probe" existed before enabling it. This prevents "ftrace only" events (like the function trace events) from being enabled by perf. Unfortunately, kprobe events do not use perf_probe. This causes kprobes to be missed by perf. To fix this, we add the test to see if "tp_event->class->reg" exists as well as perf_probe. Normal trace events have only "perf_probe" but no "reg" function, and kprobes and syscalls have the "reg" but no "perf_probe". The ftrace unique events do not have either, so this is a valid test. If a kprobe or syscall is not to be probed by perf, the "reg" function is called anyway, and will return a failure and prevent perf from probing it. Reported-by: Srikar Dronamraju <[email protected]> Tested-by: Srikar Dronamraju <[email protected]> Acked-by: Peter Zijlstra <[email protected]> Signed-off-by: Steven Rostedt <[email protected]>
2010-06-10um, hweight: Fix UML boot crash due to x86 optimized hweightBorislav Petkov1-0/+6
Apparently UML cannot stomach callee reg-saving trickery introduced with d61931d89be506372d01a90d1755f6d0a9fafe2d (x86: Add optimized popcnt variants) and oopses during boot: http://marc.info/?l=linux-kernel&m=127522065202435&w=2 Redirect arch_hweight.h include from the x86 portion to the generic arch_hweight.h which is a fallback to the software hweight routines. LKML-Reference: <[email protected]> Signed-off-by: Borislav Petkov <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-06-10x86, setup: Set ax register in boot vga queryAndi Kleen1-2/+1
Catch missing conversion to the register structure "glove box" scheme. Found by gcc 4.6's new warnings. Signed-off-by: Andi Kleen <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-06-11percpu, x86: Avoid warnings of unused variables in per cpuAndi Kleen1-0/+2
Avoid hundreds of warnings with a gcc 4.6 -Wall build. Signed-off-by: Andi Kleen <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2010-06-10ceph: try to send partial cap release on cap message on missing inodeSage Weil3-5/+9
If we have enough memory to allocate a new cap release message, do so, so that we can send a partial release message immediately. This keeps us from making the MDS wait when the cap release it needs is in a partially full release message. If we fail because of ENOMEM, oh well, they'll just have to wait a bit longer. Signed-off-by: Sage Weil <[email protected]>
2010-06-10ceph: release cap on import if we don't have the inodeSage Weil3-38/+61
If we get an IMPORT that give us a cap, but we don't have the inode, queue a release (and try to send it immediately) so that the MDS doesn't get stuck waiting for us. Signed-off-by: Sage Weil <[email protected]>
2010-06-10ceph: fix misleading/incorrect debug messageSage Weil1-1/+1
Nothing is released here: the caps message is simply ignored in this case. Signed-off-by: Sage Weil <[email protected]>
2010-06-10ceph: fix atomic64_t initialization on ia64Jeff Mahoney1-1/+1
bdi_seq is an atomic_long_t but we're using ATOMIC_INIT, which causes build failures on ia64. This patch fixes it to use ATOMIC_LONG_INIT. Signed-off-by: Jeff Mahoney <[email protected]> Signed-off-by: Sage Weil <[email protected]>
2010-06-10sata_sil24: Use memory barriers before issuing commandsCatalin Marinas1-0/+10
The data in the cmd_block buffers may reach the main memory after the writel() to the device ports. This patch introduces two calls to wmb() to ensure the relative ordering. Signed-off-by: Catalin Marinas <[email protected]> Tested-by: Colin Tuckley <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Jeff Garzik <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2010-06-10sata_sil24: memset() overflowDan Carpenter1-1/+1
cb->atapi.cdb is an array of 16 u8 elements. The call too memset() would set the first part of the sge array to zero as well. It's not a packed struct. This one has been around for five years. I found it with Smatch. I think the reason no one has seen it before is because we normally call sil24_fill_sg() and that overwrites sge with proper information? Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2010-06-10Merge branch 'kvm-updates/2.6.35' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds7-4/+106
* 'kvm-updates/2.6.35' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: read apic->irr with ioapic lock held KVM: ia64: Add missing spin_unlock in kvm_arch_hardware_enable() KVM: Fix order passed to iommu_unmap KVM: MMU: Remove user access when allowing kernel access to gpte.w=0 page KVM: MMU: invalidate and flush on spte small->large page size change KVM: SVM: Implement workaround for Erratum 383 KVM: SVM: Handle MCEs early in the vmexit process KVM: powerpc: fix init/exit annotation
2010-06-10KVM: read apic->irr with ioapic lock heldMarcelo Tosatti1-1/+2
Read ioapic->irr inside ioapic->lock protected section. KVM-Stable-Tag Signed-off-by: Marcelo Tosatti <[email protected]>
2010-06-10Merge branch 'for-linus2' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds2-30/+62
* 'for-linus2' of git://git.kernel.dk/linux-2.6-block: pipe: fix check in "set size" fcntl pipe: fix pipe buffer resizing block: remove duplicate BUG_ON() in bd_finish_claiming() block: bd_start_claiming cleanup block: bd_start_claiming fix module refcount
2010-06-10pipe: fix check in "set size" fcntlMiklos Szeredi1-3/+4
As it stands this check compares the number of pages to the page size. This makes no sense and makes the fcntl fail in almost any sane case. Fix it by checking if nr_pages is not zero (it can become zero only if arg is too big and round_pipe_size() overflows). Signed-off-by: Miklos Szeredi <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-10pipe: fix pipe buffer resizingMiklos Szeredi1-3/+10
pipe_set_size() needs to copy pipe bufs from the old circular buffer to the new. The current code gets this wrong in multiple ways, resulting in oops. Test program is available here: http://www.kernel.org/pub/linux/kernel/people/mszeredi/piperesize/ Signed-off-by: Miklos Szeredi <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-10block: remove duplicate BUG_ON() in bd_finish_claiming()Jens Axboe1-1/+0
We do the same BUG_ON() just a line later when calling into __bd_abort_claiming(). Reported-by: Tejun Heo <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-10block: bd_start_claiming cleanupNick Piggin1-24/+48
I don't like the subtle multi-context code in bd_claim (ie. detects where it has been called based on bd_claiming). It seems clearer to just require a new function to finish a 2-part claim. Also improve commentary in bd_start_claiming as to how it should be used. Signed-off-by: Nick Piggin <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-10block: bd_start_claiming fix module refcountNick Piggin1-0/+1
bd_start_claiming has an unbalanced module_put introduced in 6b4517a79. Signed-off-by: Nick Piggin <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-10Merge branch 'for-linus' of ↵Linus Torvalds3-2/+4
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: sound/spi: patch for the unuseful variable removal ALSA: hda - Add SSID table for iMac7,1. ALSA: hda - Add SSID table for MacBookAir1,1 ALSA: hda - Add SSID table for MacBookAir2,1 ALSA: atmel: set "channel A event" output to debug
2010-06-10Merge branch 'perf-fixes-for-linus' of ↵Linus Torvalds4-5/+13
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Fix null pointer deref with SEND_SIG_FORCED perf: Fix signed comparison in perf_adjust_period() powerpc/oprofile: fix potential buffer overrun in op_model_cell.c perf symbols: Set the DSO long name when using symbol_conf.vmlinux_name