aboutsummaryrefslogtreecommitdiff
path: root/include/linux
AgeCommit message (Collapse)AuthorFilesLines
2007-10-09NFS: nfs_mark_for_revalidate don't update cache_change_attributeTrond Myklebust1-3/+1
Just let the subsequent inode revalidation do the update... Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: Fix nfs_verify_change_attribute()Trond Myklebust1-7/+7
We don't care about whether or not some other process on our client is changing the directory while we're in nfs_lookup_revalidate(), because the dcache will take care of ensuring local atomicity. We can therefore remove the test for nfs_caches_unstable(). Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: Fix the sign of the return value of nfs_save_change_attribute()Trond Myklebust1-3/+3
Also fix up the comments. Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: Fake up 'wcc' attributes to prevent cache invalidation after writeTrond Myklebust2-1/+3
NFSv2 and v4 don't offer weak cache consistency attributes on WRITE calls. In NFSv3, returning wcc data is optional. In all cases, we want to prevent the client from invalidating our cached data whenever ->write_done() attempts to update the inode attributes. Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: Fix atime revalidation in readdir()Trond Myklebust1-0/+1
NFSv3 will correctly update atime on a readdir call, so there is no need to set the NFS_INO_INVALID_ATIME flag unless the call to nfs_refresh_inode() fails. Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: Don't force a dcache revalidation if nfs_wcc_update_inode succeedsTrond Myklebust1-1/+3
The reason is that if the weak cache consistency update was successful, then we know that our client must be the only one that changed the directory, and we've already updated the dcache to reflect the change. Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: fix nfs_verify_change_attributeTrond Myklebust1-1/+1
We always want to check that the verifier and directory cache_change_attribute match. This also allows us to remove the 'wraparound hack' for the cache_change_attribute. If we're only checking for equality, then we don't care about wraparound issues. Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFSv4: Make NFSv4 ACCESS calls return attributes too...Trond Myklebust1-0/+3
It doesn't really make sense to cache an access call without also revalidating the attributes. Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFSv4: Simplify _nfs4_do_access()Trond Myklebust1-3/+2
Currently, _nfs4_do_access() is just a copy of nfs_do_access() with added conversion of the open flags into an access mask. This patch merges the duplicate functionality. Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: Replace file->private_data with calls to nfs_file_open_context()Trond Myklebust1-6/+2
Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: Add a helper to extract the nfs_open_context from a struct fileTrond Myklebust1-0/+5
Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09RPCRDMA: rpc rdma transport switch\"Talpey, Thomas\1-0/+5
This implements the configuration and building of the core transport switch implementation of the rpcrdma transport. Stubs are provided for the rpcrdma protocol handling, and the infiniband/iwarp verbs interface. These are provided in following patches. Signed-off-by: Tom Talpey <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09RPCRDMA: Kconfig and header file with rpcrdma protocol definitions\"Talpey, Thomas\2-0/+201
This file implements the configuration target, protocol template and constants for the rpcrdma transport framing, for use by the xprtrdma rpc transport implementation. Signed-off-by: Tom Talpey <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS/SUNRPC: support transport protocol naming\"Talpey, Thomas\2-3/+13
To prepare for including non-sockets-based RPC transports, select RPC transports by an identifier (to be used in following patches). Signed-off-by: Tom Talpey <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09SUNRPC: rearrange RPC sockets definitions\"Talpey, Thomas\2-22/+40
To prepare for including non-sockets-based RPC transports, move the sockets-dependent definitions into their own file. Signed-off-by: Tom Talpey <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09SUNRPC: rename the rpc_xprtsock_create structure\"Talpey, Thomas\1-5/+5
To prepare for including non-sockets-based RPC transports, change the overly suggestive name of the transport creation arguments struct. Signed-off-by: Tom Talpey <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09SUNRPC: Provide a new API for registering transport implementations\"Talpey, Thomas\1-0/+11
To allow transport capabilities to be loaded dynamically, provide an API for registering and unregistering the transports with the RPC client. Eventually xprt_create_transport() will be changed to search the list of registered transports when initializing a fresh transport. Signed-off-by: Chuck Lever <[email protected]> Signed-off-by: Tom Talpey <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09SUNRPC: mark bulk read/write data in xdrbuf\"Talpey, Thomas\1-1/+4
Adds a flag word to the xdrbuf struct which indicates any bulk disposition of the data. This enables RPC transport providers to marshal it efficiently/appropriately, and may enable other optimizations. Signed-off-by: Tom Talpey <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09SUNRPC: export per-transport rpcbind netid's\"Talpey, Thomas\1-0/+1
The rpcbind (v3+) netid is provided by each RPC client transport. This fixes an omission in IPv6 rpcbind client support, and enables future extension. Signed-off-by: Tom Talpey <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09SUNRPC: move per-transport rpcbind netid's\"Talpey, Thomas\1-0/+13
Move the TCP/UDP rpcbind netid's from the rpcbind client to a global header. Signed-off-by: Tom Talpey <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09SUNRPC: fix a signed v. unsigned comparison nit in rpc_bind_new_programChuck Lever1-1/+1
/home/cel/linux/net/sunrpc/clnt.c: In function ‘rpc_bind_new_program’: /home/cel/linux/net/sunrpc/clnt.c:445: warning: comparison between signed and unsigned RPC version numbers are u32, not int. Signed-off-by: Chuck Lever <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09SUNRPC: Add support for formatted universal addressesChuck Lever1-0/+1
"Universal addresses" are a string representation of an IP address and port. They are described fully in RFC 3530, section 2.2. Add support for generating them in the RPC client's socket transport module. Signed-off-by: Chuck Lever <[email protected]>
2007-10-09SUNRPC: Add hex-formatted address support to rpc_peeraddr2str()Chuck Lever1-0/+2
Add support for the NFS client's need to export volume information with IP addresses formatted in hex instead of decimal. This isn't used yet, but subsequent patches (not in this series) will change the NFS client to use this functionality. Signed-off-by: Chuck Lever <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09Re: [NFS] [PATCH] Attribute timeout handling and wrapping u32 jiffiesFabio Olive Leite1-0/+4
I would like to discuss the idea that the current checks for attribute timeout using time_after are inadequate for 32bit architectures, since time_after works correctly only when the two timestamps being compared are within 2^31 jiffies of each other. The signed overflow caused by comparing values more than 2^31 jiffies apart will flip the result, causing incorrect assumptions of validity. 2^31 jiffies is a fairly large period of time (~25 days) when compared to the lifetime of most kernel data structures, but for long lived NFS mounts that can sit idle for months (think that for some reason autofs cannot be used), it is easy to compare inode attribute timestamps with very disparate or even bogus values (as in when jiffies have wrapped many times, where the comparison doesn't even make sense). Currently the code tests for attribute timeout by simply adding the desired amount of jiffies to the stored timestamp and comparing that with the current timestamp of obtained attribute data with time_after. This is incorrect, as it returns true for the desired timeout period and another full 2^31 range of jiffies. In testing with artificial jumps (several small jumps, not one big crank) of the jiffies I was able to reproduce a problem found in a server with very long lived NFS mounts, where attributes would not be refreshed even after touching files and directories in the server: Initial uptime: 03:42:01 up 6 min, 0 users, load average: 0.01, 0.12, 0.07 NFS volume is mounted and time is advanced: 03:38:09 up 25 days, 2 min, 0 users, load average: 1.22, 1.05, 1.08 # ls -l /local/A/foo/bar /nfs/A/foo/bar -rw-r--r-- 1 root root 0 Dec 17 03:38 /local/A/foo/bar -rw-r--r-- 1 root root 0 Nov 22 00:36 /nfs/A/foo/bar # touch /local/A/foo/bar # ls -l /local/A/foo/bar /nfs/A/foo/bar -rw-r--r-- 1 root root 0 Dec 17 03:47 /local/A/foo/bar -rw-r--r-- 1 root root 0 Nov 22 00:36 /nfs/A/foo/bar We can see the local mtime is updated, but the NFS mount still shows the old value. The patch below makes it work: Initial setup... 07:11:02 up 25 days, 1 min, 0 users, load average: 0.15, 0.03, 0.04 # ls -l /local/A/foo/bar /nfs/A/foo/bar -rw-r--r-- 1 root root 0 Jan 11 07:11 /local/A/foo/bar -rw-r--r-- 1 root root 0 Jan 11 07:11 /nfs/A/foo/bar # touch /local/A/foo/bar # ls -l /local/A/foo/bar /nfs/A/foo/bar -rw-r--r-- 1 root root 0 Jan 11 07:14 /local/A/foo/bar -rw-r--r-- 1 root root 0 Jan 11 07:14 /nfs/A/foo/bar Signed-off-by: Fabio Olive Leite <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: Fall back to synchronous writes when a background write errors...Trond Myklebust1-0/+3
This helps prevent huge queues of background writes from building up whenever the server runs out of disk or quota space, or if someone changes the file access modes behind our backs. Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: Clean up NFS writeback flush codeTrond Myklebust1-1/+1
The only user of nfs_sync_mapping_range() is nfs_getattr(), which uses it to flush out the entire inode without sending a commit. We therefore replace nfs_sync_mapping_range with a more appropriate helper. Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09VFS: Remove writeback_control->fs_privateTrond Myklebust1-2/+0
The only user of this field was NFS. Signed-off-by: Trond Myklebust <[email protected]>
2007-10-09NFS: Clean up write code...Trond Myklebust2-2/+0
The addition of nfs_page_mkwrite means that We should no longer need to create requests inside nfs_writepage() Signed-off-by: Trond Myklebust <[email protected]>
2007-10-08mm: set_page_dirty_balance() vs ->page_mkwrite()Peter Zijlstra1-1/+1
All the current page_mkwrite() implementations also set the page dirty. Which results in the set_page_dirty_balance() call to _not_ call balance, because the page is already found dirty. This allows us to dirty a _lot_ of pages without ever hitting balance_dirty_pages(). Not good (tm). Force a balance call if ->page_mkwrite() was successful. Signed-off-by: Peter Zijlstra <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2007-10-08[POWERPC] Treat 8610 PCIe host bridge as transparentJason Jin1-0/+1
Signed-off-by: Jason Jin <[email protected]> Signed-off-by: Jon Loeliger <[email protected]> Signed-off-by: Kumar Gala <[email protected]>
2007-10-07Don't do load-average calculations at even 5-second intervalsLinus Torvalds1-1/+1
It turns out that there are a few other five-second timers in the kernel, and if the timers get in sync, the load-average can get artificially inflated by events that just happen to coincide. So just offset the load average calculation it by a timer tick. Noticed by Anders Boström, for whom the coincidence started triggering on one of his machines with the JBD jiffies rounding code (JBD is one of the subsystems that also end up using a 5-second timer by default). Tested-by: Anders Boström <[email protected]> Cc: Chuck Ebbert <[email protected]> Cc: Arjan van de Ven <[email protected]> Cc: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2007-10-04[CPUFREQ] implement !CONFIG_CPU_FREQ stub for cpufreq_unregister_notifier()Satyam Sharma1-3/+15
Callsites such as arch/powerpc/oprofile/op_model_cell.c are having to open-code #ifdef CONFIG_CPU_FREQ only to be able to get at the full definition of cpufreq_unregister_notifier(), because no empty stub is available for the !CONFIG_CPU_FREQ case. Let's provide one, to be able to remove such #ifdef's from the rest of the kernel tree -- those will come in a subsequent patch. Signed-off-by: Satyam Sharma <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Dave Jones <[email protected]>
2007-10-04[CPUFREQ] Only check for transition latency on problematic governors ↵Thomas Renninger1-1/+2
(kconfig fix) Cc: Adrian Bunk <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Dave Jones <[email protected]>
2007-10-04[CPUFREQ] allow ondemand and conservative cpufreq governors to be used as ↵Thomas Renninger1-3/+17
default Depending on the transition latency of the HW for cpufreq switches, the ondemand or conservative governor cannot be used with certain cpufreq drivers. Still the ondemand should be the default governor on a wide range of systems. This patch allows this and lets the governor fallback to the performance governor at cpufreq driver load time, if the driver does not support fast enough frequency switching. Main benefit is that on e.g. installation or other systems without userspace support a working dynamic cpufreq support can be achieved on most systems by simply loading the cpufreq driver. This is especially essential for recent x86(_64) laptop hardware which may rely on working dynamic cpufreq OS support. Signed-off-by: Thomas Renninger <[email protected]> Signed-off-by: Venkatesh Pallipadi <[email protected]> Cc: Russell King <[email protected]> Cc: Bryan Wu <[email protected]> Cc: Andi Kleen <[email protected]> Cc: "Luck, Tony" <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Paul Mundt <[email protected]> Cc: "David S. Miller" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Dave Jones <[email protected]>
2007-10-03mmc: Disabler for Ricoh MMC controllerPhilip Langdale1-0/+2
Thanks to Matt Domsch and Rezwanul Kabir at Dell, we know how to disable the MMC controller on the multi-function Ricoh R5C832. The MMC controller needs to be disabled or it will steal MMC cards from the SD controller where they would otherwise be supported by the Linux SDHCI driver. Signed-off-by: Philipl Langdale <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>
2007-10-03[POWERPC] XilinxFB: Move xilinxfb_platform_data definition to a shared ↵Grant Likely1-0/+23
header file XilnixFB can be used by more than just arch/ppc. Move the data structure definition into include/linux/xilinxfb.h so it can be used by microblaze and arch/powerpc Signed-off-by: Grant Likely <[email protected]> Signed-off-by: Josh Boyer <[email protected]>
2007-10-03Merge branch 'linux-2.6' into for-2.6.24Paul Mackerras4-54/+10
2007-09-26Revert "[PATCH] x86-64: fix x86_64-mm-sched-clock-share"Linus Torvalds1-16/+3
This reverts commit 184c44d2049c4db7ef6ec65794546954da2c6a0e. As noted by Dave Jones: "Linus, please revert the above cset. It doesn't seem to be necessary (it was added to fix a miscompile in 'make allnoconfig' which doesn't seem to be repeatable with it reverted) and actively breaks the ARM SA1100 framebuffer driver." Requested-by: Dave Jones <[email protected]> Cc: Russell King <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Andi Kleen <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2007-09-26Input: gpio-keys - add suspend/resume supportAnti Sullin1-0/+1
This patch adds suspend/resume support and enables wakeup from gpio_keys buttons. Signed-off-by: Anti Sullin <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2007-09-24mmc: add led triggerPierre Ossman1-0/+6
Add a led trigger for each host controller that indicates if there is a request active on the controller. Signed-off-by: Pierre Ossman <[email protected]>
2007-09-23mmc_spi host driverDavid Brownell1-0/+33
This is the latest version of the MMC-over-SPI support. It works on 2.6.23-rc2 plus git-mmc (from rc1-mm2), along with the preceding patches which teach the rest of the MMC stack about SPI. The main issue of note is that sometimes cards need to be power cycled to recover after certain faults. Also, it may sometimes be necessary to disable CRCs. ("modprobe mmc_core use_spi_crc=n") Signed-off-by: David Brownell <[email protected]> Cc: [email protected], Cc: Hans-Peter Nilsson <[email protected]> Cc: Jan Nikitenko <[email protected]> Cc: Mike Lavender <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>
2007-09-23MMC headers learn about SPIDavid Brownell3-13/+67
Teach the MMC/SD/SDIO system headers that some hosts use SPI mode - New host capabilities and status bits * MMC_CAP_SPI, with mmc_host_is_spi() test * mmc_host.use_spi_crc flag - SPI-specific declarations: * Response types, MMC_RSP_SPI_R* * Two SPI-only commands * Status bits used native to SPI: R1_SPI_*, R2_SPI_* - Fix a few (unrelated) whitespace bugs in the headers. - Reorder a few mmc_host fields, removing several bytes of padding None of these changes affect current code. Signed-off-by: David Brownell <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>
2007-09-23sdio: store vendor stringsPierre Ossman2-0/+5
Store vendor strings found in CISTPL_VERS_1 so that function drivers can access them. Signed-off-by: Pierre Ossman <[email protected]>
2007-09-23sdio: add sdio_f0_readb() and sdio_f0_writeb()David Vrabel1-0/+5
Add sdio_f0_readb() and sdio_f0_writeb() functions to reading and writing function 0 registers. Writes outside the vendor specific CCCR registers (0xF0 - 0xFF) are not permitted. Signed-off-by: David Vrabel <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>
2007-09-23sdio: set the functions' block sizeDavid Vrabel1-1/+4
Before a driver is probed, set the function's block size to the default so the driver is sure the block size is something sensible and it needn't explicitly set it. The default block size is the largest that's supported by both the card and the host, with a maximum of 512 to ensure aribitrarily sized transfer use the optimal (least) number of commands. See http://lkml.org/lkml/2007/8/7/150 for reasons for the block size choice. Signed-off-by: David Vrabel <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>
2007-09-23sdio: add SDIO_FBR_BASE(f) macroDavid Vrabel1-0/+2
Signed-off-by: David Vrabel <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>
2007-09-23sdio: add interface for host side SDIO interrupt reportingNicolas Pitre1-0/+8
Signed-off-by: Nicolas Pitre <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>
2007-09-23sdio: support IO_RW_EXTENDEDPierre Ossman2-0/+32
Support the multi-byte transfer operation, including handlers for common operations like writel()/readl(). Signed-off-by: Pierre Ossman <[email protected]>
2007-09-23sdio: core support for SDIO function interruptNicolas Pitre2-0/+11
Signed-off-by: Nicolas Pitre <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>
2007-09-23sdio: allow for mmc_claim_host to be abortedNicolas Pitre1-1/+12
It is sometimes necessary to give up on trying to claim the host lock, especially if that happens in a thread that has to be stopped. While at it, fix the description for mmc_claim_host() which was wrong. Signed-off-by: Nicolas Pitre <[email protected]> Signed-off-by: Pierre Ossman <[email protected]>