An error occurred fetching the project authors.
- 25 Jan, 2005 2 commits
-
-
Linus Torvalds authored
-
Linus Torvalds authored
arguments. And make it non-inlined.
-
- 04 Jan, 2005 1 commit
-
-
Jay Lan authored
This patch is to offer common accounting data collection method at I/O for various accounting packages including BSD accounting, ELSA, CSA and any other acct packages that use a common layer of data collection. Patch is made to fs/read_write.c to collect per process data on character read/written in bytes and number of read/write syscalls made. New struct fields are added to task_struct to store the data. These data are collected on per process basis. Signed-off-by: Jay Lan <jlan@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 28 Oct, 2004 1 commit
-
-
Christoph Hellwig authored
Fortunately dvb stopped using it in their firmware loader Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 18 Oct, 2004 1 commit
-
-
Arnd Bergmann authored
I found that the prototypes for sys_waitid and sys_fcntl in <linux/syscalls.h> don't match the implementation. In order to keep all prototypes in sync in the future, now include the header from each file implementing any syscall. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 09 Aug, 2004 1 commit
-
-
Linus Torvalds authored
This allows the VFS layer to the update rather than the low-level drivers.
-
- 07 Aug, 2004 3 commits
-
-
Linus Torvalds authored
Remove the test from the socket code, now that it's no longer necessary.
-
Linus Torvalds authored
This also removes the ESPIPE logic from pipes and seq_files, since the VFS layer now supports it.
-
Linus Torvalds authored
We use a FMODE_LSEEK flag to match the existing read/write bits. This allows us to check for seekability on a VFS level for lseek/pread/pwrite, and cleans things up. Update some sites that used the numeric constants to use the symbolic values instead.
-
- 11 Jul, 2004 1 commit
-
-
Neil Brown authored
nfsd currently just sets f_pos when seeking in a directory. This bypasses any checking and other handling that a filesystem might want to do. So instead, we define "vfs_llseek" to be an exported "llseek", and use that, both to seek at the start, and the find the new position at the end. Thanks to "Derrick Schommer" <dschommer@acopia.com> "Trond Myklebust" <trond.myklebust@fys.uio.no> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 22 May, 2004 1 commit
-
-
Andrew Morton authored
From: David Mosberger <davidm@napali.hpl.hp.com> Below is a patch that tries to sanitize the dropping of unneeded system-call stubs in generic code. In some instances, it would be possible to move the optional system-call stubs into a library routine which would avoid the need for #ifdefs, but in many cases, doing so would require making several functions global (and possibly exporting additional data-structures in header-files). Furthermore, it would inhibit (automatic) inlining in the cases in the cases where the stubs are needed. For these reasons, the patch keeps the #ifdef-approach. This has been tested on ia64 and there were no objections from the arch-maintainers (and one positive response). The patch should be safe but arch-maintainers may want to take a second look to see if some __ARCH_WANT_foo macros should be removed for their architecture (I'm quite sure that's the case, but I wanted to play it safe and only preserved the status-quo in that regard).
-
- 18 Apr, 2004 1 commit
-
-
Linus Torvalds authored
But obviously only if we're not passing in any offset pointer. This is how 2.4.x worked, and vsftpd relies on it. Bug reported by Chris < chris@scary.beasts.org>
-
- 12 Apr, 2004 1 commit
-
-
Andrew Morton authored
do-readv_writev() is trying to fail if a) any of the segments have a length < 0 or b) the sum of the segments wraps negative. But it gets b) wrong because local variable tot_len is unsigned. Fix that up.
-
- 13 Mar, 2004 1 commit
-
-
Andrew Morton authored
From: Arnd Bergmann <arnd@arndb.de> Dave Jones already removed some of the useless __KERNEL_SYSCALLS__ defines in various files, this gets rid of almost all the others. Replacing execve() is nontrivial, so I left those in for now. For all the other system calls that are currently used from inside the kernel, calling the sys_* function directly should always have an identical effect.
-
- 20 Jan, 2004 1 commit
-
-
Andrew Morton authored
From: Manfred Spraul <manfred@colorfullife.com> sendfile supports reading from a given start offset for in_file, like pread. But for the locks_verify_area call, in_file->f_pos is always used, even if a start offset is used. Result: wrong area is checked for mandatory locks.
-
- 19 Jan, 2004 1 commit
-
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> A lot of places used to use ->f_dentry->d_inode->i_mapping all over the place. Replaced with use of ->f_mapping. For now - just the places where we literally could do search-and-replace.
-
- 07 Oct, 2003 1 commit
-
-
Arnaldo Carvalho de Melo authored
-
- 10 Jul, 2003 1 commit
-
-
Andrew Morton authored
From: Daniel McNeil <daniel@osdl.org> This adds i_seqcount to the inode structure and then uses i_size_read() and i_size_write() to provide atomic access to i_size. This is a port of Andrea Arcangeli's i_size atomic access patch from 2.4. This only uses the generic reader/writer consistent mechanism. Before: mnm:/usr/src/25> size vmlinux text data bss dec hex filename 2229582 1027683 162436 3419701 342e35 vmlinux After: mnm:/usr/src/25> size vmlinux text data bss dec hex filename 2225642 1027655 162436 3415733 341eb5 vmlinux 3.9k more text, a lot of it fastpath :( It's a very minor bug, and the fix has a fairly non-minor cost. The most compelling reason for fixing this is that writepage() checks i_size. If it sees a transient value it may decide that page is outside i_size and will refuse to write it. Lost user data.
-
- 07 May, 2003 1 commit
-
-
Andrew Morton authored
From: Dipankar Sarma <dipankar@in.ibm.com> fget() shows up on profiles, especially on SMP. Dipankar's patch special-cases the situation wherein there are no sharers of current->files. In this situation we know that no other process can close this file, so it is not necessary to increment the file's refcount. It's ugly as sin, but makes a substantial difference. The test is dd if=/dev/zero of=foo bs=1 count=1M On 4CPU P3 xeon with 1MB L2 cache and 512MB ram: kernel sys time std-dev ------------ -------- ------- UP - vanilla 2.104 0.028 UP - file 1.867 0.019 SMP - vanilla 2.976 0.023 SMP - file 2.719 0.026
-
- 16 Apr, 2003 1 commit
-
-
Linus Torvalds authored
verifies declarations against definitions and checks argument types.
-
- 09 Apr, 2003 1 commit
-
-
Linus Torvalds authored
-
- 06 Feb, 2003 2 commits
-
-
Andrew Morton authored
hm. It seems that I sent this patch twice. After resyncing with your tree I go through and try to reapply all the sent patches, throwing out the ones which get a lot of rejects. Just to make sure that everything got through OK. But it appears that that particular patch happily applied on top of itself, so I assumed it was not applied...
-
Andrew Morton authored
Patch from "Stephen D. Smalley" <sds@epoch.ncsc.mil> This patch restores the LSM hook calls in sendfile to 2.5.59. The hook was previously added as of 2.5.29 but the hook calls in sendfile were subsequently lost as a result of the sendfile rewrite as of 2.5.30.
-
- 04 Feb, 2003 1 commit
-
-
Andrew Morton authored
Patch from "Stephen D. Smalley" <sds@epoch.ncsc.mil> This patch restores the LSM hook calls in sendfile to 2.5.59. The hook was previously added as of 2.5.29 but the hook calls in sendfile were subsequently lost as a result of the sendfile rewrite as of 2.5.30.
-
- 15 Dec, 2002 1 commit
-
-
Andrew Morton authored
The writepage-removal patch broke filesystems which do not want to support writeable mappings. Fix that up by making those filesystems point their mmap vector at the new generic_file_readonly_mmap().
-
- 01 Dec, 2002 1 commit
-
-
Stephen Rothwell authored
From Pengcheng Zou <pczou@redflag-linux.com>: > > Orignally DN_MODIFY is issued on readv while DN_ACCESS is issued on writev, > which is obviously wrong. This patch fixes such problem. This is the equivalent patch for 2.5.50+.
-
- 27 Nov, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-
- 09 Nov, 2002 1 commit
-
-
Hirokazu Takahashi authored
I enhanced the sendfile method so that we could pass a proper actor to it (which exposes the full power of the internal implementation). Now knfsd calls the sendfile vector rather than depending on a readpage() that hasn't been set up fully.
-
- 07 Nov, 2002 1 commit
-
-
Christoph Hellwig authored
Clean up vfs_readv/writev() interface and avoid code duplication. Make kNFSd use the cleaned-up interfaces, and disable the code that accesses the low-level readpage() function of the exported filesystem (not allowed - many filesystems need extra setup, which is why we have a separate ->sendpage() routine for that).
-
- 05 Nov, 2002 1 commit
-
-
Andrew Morton authored
Patch from Manfred Spraul f_version and i_version are used by filesystems to check if it can reuse the f_pos position across readdir calls without validation. Right now f_version and i_version are modified by f_version = ++event; i_version = ++event; if (f_version != i_version) goto revalidate and event is a global, exported variable. But that's not needed, f_version = 0; i_version++; if (f_version != i_version) goto revalidate works too, without the ugly 'event' variable. I got an ok from viro, and I had notified the fs maintainers, no complaints either - block_dev.c, block_llseek updates f_version to '++event'. grep showed that no device driver uses f_version, this is dead code copied from the default llseek implementation. - the llseek implementations and get_empty_flip set f_version to '++event' This is not dead code, but filp->f_version = 0 achieves the same effect: f_version is used by the readdir() implementation of several filesystems to skip the revalidation of f_pos at the beginning of a readdir call: If llseek was not called and the filesystem did not change since the last readdir call, then the value in f_pos can be trusted. The implementation (for example in ext2) is inode->i_version = ++event; in all operations that change a directory At the beginning of file_operation->readdir(): if(inode->i_version != flip->f_version) revalidate(); filp->f_version = inode->i_version; There are other users of f_version, but none of them use the default llseek implementation (e.g. fs/pipe.c)
-
- 30 Oct, 2002 1 commit
-
-
Neil Brown authored
This means: 1/ We don't need an order-4 allocation for each nfsd that starts 2/ We don't need an order-4 allocation in skb_linearize when we receive a 32K write request 3/ It will be easier to incorporate the zero-copy read changes The pages are handed around using an xdr_buf (instead of svc_buf) much like the NFS client so future crypto code can use the same data structure for both client and server. The code assumes that most requests and replies fit in a single page. The exceptions are assumed to have some largish 'data' bit, and the rest must fit in a single page. The 'data' bits are file data, readdir data, and symlinks. There must be only one 'data' bit per request. This is all fine for nfs/nlm. This isn't complete: 1/ NFSv4 hasn't been converted yet (it won't compile) 2/ NFSv3 allows symlinks upto 4096, but the code will only support upto about 3800 at the moment 3/ readdir responses are limited to about 3800. but I thought that patch was big enough, and the rest can come later. This patch introduces vfs_readv and vfs_writev as parallels to vfs_read and vfs_write. This means there is a fair bit of duplication in read_write.c that should probably be tidied up...
-
- 17 Oct, 2002 2 commits
-
-
Greg Kroah-Hartman authored
-
Christoph Hellwig authored
In the initial discussion LSM folks agreed on this, the rationale is that lsseek itself makes no sense to project as mmap() and pread/pwrite() allow access to any area of the file anyway.
-
- 10 Oct, 2002 2 commits
-
-
Benjamin LaHaise authored
-
Andrew Morton authored
Should resolve an ongoing fiasco concerning what we should return to userspace if they do a readv or writev of zero segments. SuS is ambiguous, but implies EINVAL. We're currently returning EINVAL, but 2.4 returns zero. I think zero makes more sense, and it is what 2.4 does.
-
- 08 Oct, 2002 1 commit
-
-
Benjamin LaHaise authored
-
- 24 Sep, 2002 1 commit
-
-
Benjamin LaHaise authored
support for file descriptors with only async ops in vfs_{read,write}
-
- 17 Sep, 2002 1 commit
-
-
Art Haas authored
Here's a resend of C99 patches for the files in fs.
-
- 13 Sep, 2002 1 commit
-
-
Andrew Morton authored
This is Janet Morgan's patch which converts the readv/writev code to submit all segments for IO before waiting on them, rather than submitting each segment separately. This is a critical performance fix for O_DIRECT reads and writes. Prior to this change, O_DIRECT vectored IO was forced to wait for completion against each segment of the iovec rather than submitting all segments and waiting on the lot. ie: for ten segments, this code will be ten times faster. There will also be moderate improvements for buffered IO - smaller code paths, plus writev() only takes i_sem once. The patch ended up quite large unfortunately - turned out that the only sane way to implement this without duplicating significant amounts of code (the generic_file_write() bounds checking, all the O_DIRECT handling, etc) was to redo generic_file_read() and generic_file_write() to take an iovec/nr_segs pair rather than `buf, count'. New exported functions generic_file_readv() and generic_file_writev() have been added: ssize_t generic_file_readv(struct file *filp, const struct iovec *iov, unsigned long nr_segs, loff_t *ppos); ssize_t generic_file_writev(struct file *file, const struct iovec *iov, unsigned long nr_segs, loff_t * ppos); If a driver does not use these in their file_operations then they will continue to use the old readv/writev code, which sits in a loop calling calls fops->read() or fops->write(). ext2, ext3, JFS and the blockdev driver are currently using this capability. Some coding cleanups were made in fs/read_write.c. Mainly: - pass "READ" or "WRITE" around to indicate the diretion of the operation, rather than the (confusing, inverted) VERIFY_READ/VERIFY_WRITE. - Use the identifier `nr_segs' everywhere to indicate the iovec length rather than `count', which is often used to indicate the number of bytes in the syscall. It was confusing the heck out of me. - Some cleanups to the raw driver. - Some additional generality in fs/direct_io.c: the core `struct dio' used to be a "populate-and-go" thing. Janet has broken that up so you can initialise a struct dio once, then loop around feeding it more file segments, then wait on completion against everything. - In a couple of places we needed to handle the situation where we knew, a-priori, that the user was going to get a short read or write. File size limit exceeded, read past i_size, etc. We handled that by shortening the iovec in-place with iov_shorten(). Which is not particularly pretty, but neither were the alternatives.
-
- 29 Jul, 2002 1 commit
-
-
Linus Torvalds authored
actual implementation and avoid confusion.
-