aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-06-25ext3: update ctime when changing the file's permission by setfaclMiao Xie1-0/+1
ext3 didn't update the ctime of the file when its permission was changed. Steps to reproduce: # touch aaa # stat -c %Z aaa 1275289822 # setfacl -m 'u::x,g::x,o::x' aaa # stat -c %Z aaa 1275289822 <- unchanged But, according to the spec of the ctime, ext3 must update it. Signed-off-by: Miao Xie <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-06-25ext2: update ctime when changing the file's permission by setfaclJan Kara1-0/+1
ext2 didn't update the ctime of the file when its permission was changed. Steps to reproduce: # touch aaa # stat -c %Z aaa 1275289822 # setfacl -m 'u::x,g::x,o::x' aaa # stat -c %Z aaa 1275289822 <- unchanged But, according to the spec of the ctime, ext2 must update it. Port of ext3 patch by Miao Xie <[email protected]>. Signed-off-by: Jan Kara <[email protected]>
2010-06-24xfrm: check bundle policy existance before dereferencing itTimo Teräs1-1/+2
Fix the bundle validation code to not assume having a valid policy. When we have multiple transformations for a xfrm policy, the bundle instance will be a chain of bundles with only the first one having the policy reference. When policy_genid is bumped it will expire the first bundle in the chain which is equivalent of expiring the whole chain. Reported-bisected-and-tested-by: Justin P. Mattock <[email protected]> Signed-off-by: Timo Teräs <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-24block: Don't count_vm_events for discard bio in submit_bio.Tao Ma1-1/+1
In submit_bio, we count vm events by check READ/WRITE. But actually DISCARD_NOBARRIER also has the WRITE flag set. It looks as if in blkdev_issue_discard, we also add a page as the payload and the bio_has_data check isn't enough. So add another check for discard bio. Signed-off-by: Tao Ma <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-06-24md/raid5: don't include 'spare' drives when reshaping to fewer devices.NeilBrown1-2/+7
There are few situations where it would make any sense to add a spare when reducing the number of devices in an array, but it is conceivable: A 6 drive RAID6 with two missing devices could be reshaped to a 5 drive RAID6, and a spare could become available just in time for the reshape, but not early enough to have been recovered first. 'freezing' recovery can make this easy to do without any races. However doing such a thing is a bad idea. md will not record the partially-recovered state of the 'spare' and when the reshape finished it will think that the spare is still spare. Easiest way to avoid this confusion is to simply disallow it. Signed-off-by: NeilBrown <[email protected]>
2010-06-24md/raid5: add a missing 'continue' in a loop.NeilBrown1-1/+3
As the comment says, the tail of this loop only applies to devices that are not fully in sync, so if In_sync was set, we should avoid the rest of the loop. This bug will hardly ever cause an actual problem. The worst it can do is allow an array to be assembled that is dirty and degraded, which is not generally a good idea (without warning the sysadmin first). This will only happen if the array is RAID4 or a RAID5/6 in an intermediate state during a reshape and so has one drive that is all 'parity' - no data - while some other device has failed. This is certainly possible, but not at all common. Signed-off-by: NeilBrown <[email protected]>
2010-06-24md/raid5: Allow recovered part of partially recovered devices to be in-syncNeilBrown1-12/+30
During a recovery of reshape the early part of some devices might be in-sync while the later parts are not. We we know we are looking at an early part it is good to treat that part as in-sync for stripe calculations. This is particularly important for a reshape which suffers device failure. Treating the data as in-sync can mean the difference between data-safety and data-loss. Signed-off-by: NeilBrown <[email protected]>
2010-06-24md/raid5: More careful check for "has array failed".NeilBrown1-4/+71
When we are reshaping an array, the device failure combinations that cause us to decide that the array as failed are more subtle. In particular, any 'spare' will be fully in-sync in the section of the array that has already been reshaped, thus failures that affect only that section are less critical. So encode this subtlety in a new function and call it as appropriate. The case that showed this problem was a 4 drive RAID5 to 8 drive RAID6 conversion where the last two devices failed. This resulted in: good good good good incomplete good good failed failed while converting a 5-drive RAID6 to 8 drive RAID5 The incomplete device causes the whole array to look bad, bad as it was actually good for the section that had been converted to 8-drives, all the data was actually safe. Reported-by: Terry Morris <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2010-06-24md: Don't update ->recovery_offset when reshaping an array to fewer devices.NeilBrown2-0/+3
When an array is reshaped to have fewer devices, the reshape proceeds from the end of the devices to the beginning. If a device happens to be non-In_sync (which is possible but rare) we would normally update the ->recovery_offset as the reshape progresses. However that would be wrong as the recover_offset records that the early part of the device is in_sync, while in fact it would only be the later part that is in_sync, and in any case the offset number would be measured from the wrong end of the device. Relatedly, if after a reshape a spare is discovered to not be recoverred all the way to the end, not allow spare_active to incorporate it in the array. This becomes relevant in the following sample scenario: A 4 drive RAID5 is converted to a 6 drive RAID6 in a combined operation. The RAID5->RAID6 conversion will cause a 5 drive to be included as a spare, then the 5drive -> 6drive reshape will effectively rebuild that spare as it progresses. The 6th drive is treated as in_sync the whole time as there is never any case that we might consider reading from it, but must not because there is no valid data. If we interrupt this reshape part-way through and reverse it to return to a 5-drive RAID6 (or event a 4-drive RAID5), we don't want to update the recovery_offset - as that would be wrong - and we don't want to include that spare as active in the 5-drive RAID6 when the reversed reshape completed and it will be mostly out-of-sync still. Signed-off-by: NeilBrown <[email protected]>
2010-06-24md/raid5: avoid oops when number of devices is reduced then increased.NeilBrown1-9/+10
The entries in the stripe_cache maintained by raid5 are enlarged when we increased the number of devices in the array, but not shrunk when we reduce the number of devices. So if entries are added after reducing the number of devices, we much ensure to initialise the whole entry, not just the part that is currently relevant. Otherwise if we enlarge the array again, we will reference uninitialised values. As grow_buffers/shrink_buffer now want to use a count that is stored explicity in the raid_conf, they should get it from there rather than being passed it as a parameter. Signed-off-by: NeilBrown <[email protected]>
2010-06-24md: enable raid4->raid0 takeoverMaciej Trela1-2/+6
Only level 5 with layout=PARITY_N can be taken over to raid0 now. Lets allow level 4 either. Signed-off-by: Maciej Trela <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2010-06-24md: clear layout after ->raid0 takeoverMaciej Trela1-0/+2
After takeover from raid5/10 -> raid0 mddev->layout is not cleared. Signed-off-by: Maciej Trela <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2010-06-24md: fix raid10 takeover: use new_layout for setup_confMaciej Trela1-8/+7
Use mddev->new_layout in setup_conf. Also use new_chunk, and don't set ->degraded in takeover(). That gets set in run() Signed-off-by: Maciej Trela <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2010-06-24md: fix handling of array level takeover that re-arranges devices.NeilBrown6-35/+41
Most array level changes leave the list of devices largely unchanged, possibly causing one at the end to become redundant. However conversions between RAID0 and RAID10 need to renumber all devices (except 0). This renumbering is currently being done in the ->run method when the new personality takes over. However this is too late as the common code in md.c might already have invalidated some of the devices if they had a ->raid_disk number that appeared to high. Moving it into the ->takeover method is too early as the array is still active at that time and wrong ->raid_disk numbers could cause confusion. So add a ->new_raid_disk field to mdk_rdev_s and use it to communicate the new raid_disk number. Now the common code knows exactly which devices need to be renumbered, and which can be invalidated, and can do it all at a convenient time when the array is suspend. It can also update some symlinks in sysfs which previously were not be updated correctly. Reported-by: Maciej Trela <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2010-06-24md: raid10: Fix null pointer dereference in fix_read_error()Prasanna S. Panchamukhi1-6/+6
Such NULL pointer dereference can occur when the driver was fixing the read errors/bad blocks and the disk was physically removed causing a system crash. This patch check if the rcu_dereference() returns valid rdev before accessing it in fix_read_error(). Cc: [email protected] Signed-off-by: Prasanna S. Panchamukhi <[email protected]> Signed-off-by: Rob Becker <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2010-06-24Restore partition detection of newly created md arrays.NeilBrown1-0/+1
Commit b821eaa572fd737faaf6928ba046e571526c36c6 broke partition detection for md arrays. The logic was almost right. However if revalidate_disk is called when the device is not yet open, bdev->bd_disk won't be set, so the flush_disk() Call will not set bd_invalidated. So when md_open is called we still need to ensure that ->bd_invalidated gets set. This is easily done with a call to check_disk_size_change in the place where the offending commit removed check_disk_change. At the important times, the size will have changed from 0 to non-zero, so check_disk_size_change will set bd_invalidated. Tested-by: Duncan <[email protected]> Reported-by: Duncan <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2010-06-24xfs: remove block number from inode lookup codeDave Chinner15-59/+26
The block number comes from bulkstat based inode lookups to shortcut the mapping calculations. We ar enot able to trust anything from bulkstat, so drop the block number as well so that the correct lookups and mappings are always done. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]>
2010-06-24xfs: rename XFS_IGET_BULKSTAT to XFS_IGET_UNTRUSTEDDave Chinner5-12/+14
Inode numbers may come from somewhere external to the filesystem (e.g. file handles, bulkstat information) and so are inherently untrusted. Rename the flag we use for these lookups to make it obvious we are doing a lookup of an untrusted inode number and need to verify it completely before trying to read it from disk. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]>
2010-06-24xfs: validate untrusted inode numbers during lookupDave Chinner1-43/+78
When we decode a handle or do a bulkstat lookup, we are using an inode number we cannot trust to be valid. If we are deleting inode chunks from disk (default noikeep mode), then we cannot trust the on disk inode buffer for any given inode number to correctly reflect whether the inode has been unlinked as the di_mode nor the generation number may have been updated on disk. This is due to the fact that when we delete an inode chunk, we do not write the clusters back to disk when they are removed - instead we mark them stale to avoid them being written back potentially over the top of something that has been subsequently allocated at that location. The result is that we can have locations of disk that look like they contain valid inodes but in reality do not. Hence we cannot simply convert the inode number to a block number and read the location from disk to determine if the inode is valid or not. As a result, and XFS_IGET_BULKSTAT lookup needs to actually look the inode up in the inode allocation btree to determine if the inode number is valid or not. It should be noted even on ikeep filesystems, there is the possibility that blocks on disk may look like valid inode clusters. e.g. if there are filesystem images hosted on the filesystem. Hence even for ikeep filesystems we really need to validate that the inode number is valid before issuing the inode buffer read. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]>
2010-06-23OMAP: hwmod: Fix the missing bracesBenoit Cousson1-3/+6
As reported by Sergei, a couple of braces were missing after the WARN removal patch. [07/22] OMAP: hwmod: Replace WARN by pr_warning if clock lookup failed https://patchwork.kernel.org/patch/100756/ Signed-off-by: Benoit Cousson <[email protected]> [[email protected]: fixed patch description per Anand's E-mail] Signed-off-by: Paul Walmsley <[email protected]> Cc: Sergei Shtylyov <[email protected]> Cc: Anand Gadiyar <[email protected]>
2010-06-23sched: silence PROVE_RCU in sched_fork()Peter Zijlstra1-0/+9
Because cgroup_fork() is ran before sched_fork() [ from copy_process() ] and the child's pid is not yet visible the child is pinned to its cgroup. Therefore we can silence this warning. A nicer solution would be moving cgroup_fork() to right after dup_task_struct() and exclude PF_STARTING from task_subsys_state(). Signed-off-by: Peter Zijlstra <[email protected]> Reviewed-by: Li Zefan <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]>
2010-06-23sky2: enable rx/tx in sky2_phy_reinit()Brandon Philips1-5/+14
sky2_phy_reinit is called by the ethtool helpers sky2_set_settings, sky2_nway_reset and sky2_set_pauseparam when netif_running. However, at the end of sky2_phy_init GM_GP_CTRL has GM_GPCR_RX_ENA and GM_GPCR_TX_ENA cleared. So, doing these commands causes the device to stop working: $ ethtool -r eth0 $ ethtool -A eth0 autoneg off Fix this issue by enabling Rx/Tx after running sky2_phy_init in sky2_phy_reinit. Signed-off-by: Brandon Philips <[email protected]> Tested-by: Brandon Philips <[email protected]> Cc: [email protected] Tested-by: Mike McCormack <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-23MAINTAINERS: change mailing list address for CIFSJeff Layton1-1/+1
We're moving the mailing list to [email protected]. Signed-off-by: Jeff Layton <[email protected]> Signed-off-by: Steve French <[email protected]>
2010-06-23cnic: Disable statistics initialization for eth clients that do not support ↵Dmitry Kravkov1-21/+34
statistics Disable statistics initialization for eth clients that do not support statistics. This prevents memory corruption on bnx2x hw. Signed-off-by: Dmitry Kravkov <[email protected]> Signed-off-by: Michael Chan <[email protected]> Signed-off-by: Eilon Greenstein <[email protected]>
2010-06-23net: add dependency on fw class module to qlcnic and netxen_nicAnirban Chakraborty1-0/+2
netxen_nic and qlcnic driver depends on firmware_class module. Signed-off-by: Anirban Chakraborty <[email protected]> Signed-off-by: Amit Kumar Salecha <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-23snmp: fix SNMP_ADD_STATS()Eric Dumazet1-1/+1
commit aa2ea0586d9d (tcp: fix outsegs stat for TSO segments) incorrectly assumed SNMP_ADD_STATS() was used from BH context. Fix this using mib[!in_softirq()] instead of mib[0] Signed-off-by: Eric Dumazet <[email protected]> CC: Tom Herbert <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-23idr: fix RCU lockdep splat in idr_get_next()Paul E. McKenney1-2/+2
Convert to rcu_dereference_raw() given that many callers may have many different locking models. Located-by: Miles Lane <[email protected]> Tested-by: Miles Lane <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]>
2010-06-23rcu: apply RCU protection to wake_affine()Daniel J Blueman1-0/+2
The task_group() function returns a pointer that must be protected by either RCU, the ->alloc_lock, or the cgroup lock (see the rcu_dereference_check() in task_subsys_state(), which is invoked by task_group()). The wake_affine() function currently does none of these, which means that a concurrent update would be within its rights to free the structure returned by task_group(). Because wake_affine() uses this structure only to compute load-balancing heuristics, there is no reason to acquire either of the two locks. Therefore, this commit introduces an RCU read-side critical section that starts before the first call to task_group() and ends after the last use of the "tg" pointer returned from task_group(). Thanks to Li Zefan for pointing out the need to extend the RCU read-side critical section from that proposed by the original patch. Signed-off-by: Daniel J Blueman <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]>
2010-06-23virtio-pci: disable msi at startupMichael S. Tsirkin2-0/+4
virtio-pci resets the device at startup by writing to the status register, but this does not clear the pci config space, specifically msi enable status which affects register layout. This breaks things like kdump when they try to use e.g. virtio-blk. Fix by forcing msi off at startup. Since pci.c already has a routine to do this, we export and use it instead of duplicating code. Signed-off-by: Michael S. Tsirkin <[email protected]> Tested-by: Vivek Goyal <[email protected]> Acked-by: Jesse Barnes <[email protected]> Cc: [email protected] Signed-off-by: Rusty Russell <[email protected]> Cc: [email protected]
2010-06-23virtio: return ENOMEM on out of memoryMichael S. Tsirkin1-1/+1
add_buf returns ring size on out of memory, this is not what devices expect. Signed-off-by: Michael S. Tsirkin <[email protected]> Acked-by: Amit Shah <[email protected]> Signed-off-by: Rusty Russell <[email protected]> Cc: [email protected] # .34.x
2010-06-23xfs: always use iget in bulkstatChristoph Hellwig6-282/+59
The non-coherent bulkstat versionsthat look directly at the inode buffers causes various problems with performance optimizations that make increased use of just logging inodes. This patch makes bulkstat always use iget, which should be fast enough for normal use with the radix-tree based inode cache introduced a while ago. Signed-off-by: Christoph Hellwig <[email protected]> Reviewed-by: Dave Chinner <[email protected]>
2010-06-24xfs: prevent swapext from operating on write-only filesDan Rosenberg1-1/+4
This patch prevents user "foo" from using the SWAPEXT ioctl to swap a write-only file owned by user "bar" into a file owned by "foo" and subsequently reading it. It does so by checking that the file descriptors passed to the ioctl are also opened for reading. Signed-off-by: Dan Rosenberg <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]>
2010-06-22Input: wacom - fix serial number handling on Cintiq 21UX2Ping Cheng1-4/+5
Cintiq 21UX2 added 8 more bits for the tool serial number and more buttons for the expresskey. We did not enable them properly in the last patch. Signed-off-by: Ping Cheng <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-22Input: fixup X86_MRST selectsRandy Dunlap2-2/+2
Some of the recent X86_MRST additions make some "select"s conditional on X86_MRST but missed some related kconfig symbols, causing: drivers/built-in.o: In function `ps2_end_command': (.text+0x257ab2): undefined reference to `i8042_check_port_owner' drivers/built-in.o: In function `ps2_end_command': (.text+0x257ae1): undefined reference to `i8042_unlock_chip' drivers/built-in.o: In function `ps2_begin_command': (.text+0x257b40): undefined reference to `i8042_check_port_owner' drivers/built-in.o: In function `ps2_begin_command': (.text+0x257b6f): undefined reference to `i8042_lock_chip' when SERIO_I8042=m, SERIO_LIBPS2=y, KEYBOARD_ATKBD=y. We need to make i8042 dependant upon !X86_MRST and allow deselecting atkbd on Moorestown even when !CONFIG_EMBEDDED. Signed-off-by: Randy Dunlap <[email protected]> Cc: Jacob Pan <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2010-06-22Merge commit 'v2.6.35-rc3' into for-linusDmitry Torokhov1029-7874/+83540
2010-06-22Merge branch 'master' of ↵David S. Miller1-0/+1
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
2010-06-22NFSv4: Fix an embarassing typo in encode_attrs()Trond Myklebust1-2/+2
Apparently, we have never been able to set the atime correctly from the NFSv4 client. Reported-by: 小倉一夫 <[email protected]> Signed-off-by: Trond Myklebust <[email protected]> Cc: [email protected]
2010-06-22NFSv4: Ensure that /proc/self/mountinfo displays the minor version numberTrond Myklebust1-4/+18
Currently, we do not display the minor version mount parameter in the /proc mount info. Signed-off-by: Trond Myklebust <[email protected]> Cc: [email protected]
2010-06-22NFSv4.1: Ensure that we initialise the session when following a referralTrond Myklebust1-71/+51
Put the code that is common to both the referral and ordinary mount cases into a common helper routine. Signed-off-by: Trond Myklebust <[email protected]>
2010-06-22SUNRPC: Fix a re-entrancy bug in xs_tcp_read_calldir()Trond Myklebust1-16/+22
If the attempt to read the calldir fails, then instead of storing the read bytes, we currently discard them. This leads to a garbage final result when upon re-entry to the same routine, we read the remaining bytes. Fixes the regression in bugzilla number 16213. Please see https://bugzilla.kernel.org/show_bug.cgi?id=16213 Signed-off-by: Trond Myklebust <[email protected]> Cc: [email protected]
2010-06-22nfs4 use mandatory attribute file type in nfs4_get_rootAndy Adamson1-1/+1
S_ISDIR(fsinfo.fattr->mode) checks the file type rather than the mode bits, so we should be checking for the NFS_ATTR_FATTR_TYPE fattr property. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Trond Myklebust <[email protected]> Cc: [email protected]
2010-06-22hso: remove setting of low_latency flagFilip Aben1-1/+0
This patch removes the setting of the low_latency flag. tty_flip_buffer_push() is occasionally being called in irq context, which causes a hang if the low_latency flag is set. Removing the low_latency flag only seems to impact the flush to ldisc, which will now be put on a workqueue. Signed-off-by: Filip Aben <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-22clocksource: sh_cmt: Fix up bogus shift value.Paul Mundt1-1/+1
The previous CMT fixup accidentally copied in the TMU shift value, reset this back to its original value while preserving the TMU fix. Signed-off-by: Paul Mundt <[email protected]>
2010-06-21udp: Fix bogus UFO packet generationHerbert Xu1-3/+6
It has been reported that the new UFO software fallback path fails under certain conditions with NFS. I tracked the problem down to the generation of UFO packets that are smaller than the MTU. The software fallback path simply discards these packets. This patch fixes the problem by not generating such packets on the UFO path. Signed-off-by: Herbert Xu <[email protected]> Reviewed-by: Michael S. Tsirkin <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-21lasi82596: fix netdev_mc_count conversionHelge Deller1-1/+1
Fix commit 4cd24eaf0 (net: use netdev_mc_count and netdev_mc_empty when appropriate) Signed-off-by: Helge Deller <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-06-21NET: MIPSsim: Fix modpost warning.Ralf Baechle1-1/+1
$ make CONFIG_DEBUG_SECTION_MISMATCH=y [...] WARNING: drivers/net/built-in.o(.data+0x0): Section mismatch in reference from the variable mipsnet_driver to the function .init.text:mipsnet_probe() The variable mipsnet_driver references the function __init mipsnet_probe() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, [...] Fixed by making mipsnet_probe __devinit. Signed-off-by: Ralf Baechle <[email protected]> drivers/net/mipsnet.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Signed-off-by: David S. Miller <[email protected]>
2010-06-21tracing: Fix undeclared ENOSYS in include/linux/tracepoint.hWu Zhangjin1-0/+1
The header file include/linux/tracepoint.h may be included without include/linux/errno.h and then the compiler will fail on building for undelcared ENOSYS. This patch fixes this problem via including <linux/errno.h> to include/linux/tracepoint.h. Signed-off-by: Wu Zhangjin <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Steven Rostedt <[email protected]>
2010-06-21Merge branch 'fix/misc' into for-linusTakashi Iwai1-0/+1
2010-06-21ALSA: usb/endpoint, fix dangling pointer useJiri Slaby1-0/+1
Stanse found that in snd_usb_parse_audio_endpoints, there is a dangling pointer dereference. When snd_usb_parse_audio_format fails, fp is freed, and continue invoked. On the next loop, there is "fp && fp->altsetting == 1 && fp->channels == 1" test, but fp is set from the last iteration (but is bogus) and thus ilegally dereferenced. Set fp to NULL before "continue". Signed-off-by: Jiri Slaby <[email protected]> Acked-by: Daniel Mack <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-06-21cfq: fix recursive call in cfq_blkiocg_update_completion_stats()Jens Axboe1-1/+1
e98ef89b has a typo, causing cfq_blkiocg_update_completion_stats() to call itself instead of blkiocg_update_completion_stats(). Reported-by: Ingo Molnar <[email protected]> Signed-off-by: Jens Axboe <[email protected]>