| Age | Commit message (Collapse) | Author |
|
Replace the BKL with a mutex to protect the venus_comm structure which
binds the mountpoint with the character device and holds the upcall
queues.
Signed-off-by: Yoshihisa Abe <yoshiabe@cs.cmu.edu>
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
Now that shared inode state is locked using the cii->c_lock, the BKL is
only used to protect the upcall queues used to communicate with the
userspace cache manager. The remaining state is all local and we can
push the lock further down into coda_upcall().
Signed-off-by: Yoshihisa Abe <yoshiabe@cs.cmu.edu>
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
CODA should not be using defines in the global name space of
that nature, prefix them with CODA_.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
|
|
Otherwise we must export backing-dev.h as well, which doesn't make
any sense.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
This ensures that dirty data gets flushed properly.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
|
|
These are only for kernel internals as pointed by Arnd Bergmann:
struct kstatfs
struct venus_comm
coda_vcp()
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
|
|
fix the following 'make headers_check' warning:
usr/include/linux/coda_psdev.h:90: extern's make no sense in userspace
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
|
|
This is an variation on the patch sent by Christoph Hellwig which kills
file_count abuse by the Coda kernel module by moving the coda_flush
functionality into coda_release. However part of reason we were using the
coda_flush callback was to allow Coda to pass errors that occur during
writeback from the userspace cache manager back to close().
As Al Viro explained on linux-fsdevel, it is impossible to guarantee that
such errors can in fact be returned back to the caller. There are many
cases where the last reference to a file is not released by the close
system call and it is also impossible to pick some close as a 'last-close'
and delay it until all other references have been destroyed.
The CODA_STORE/CODA_RELEASE upcall combination is clearly a broken design,
and it is better to remove it completely.
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Al Viro <viro@ftp.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
Similar information can easily be obtained with strace -c.
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
The sb_info structure only contains a single pointer to the character device,
there is no need for the added indirection.
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
We ignore signals for about 30 seconds to give userspace a chance to see the
upcall. As we did not block signals we ended up in a busy loop for the
remainder of the period when a signal is received.
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Give the statfs superblock operation a dentry pointer rather than a superblock
pointer.
This complements the get_sb() patch. That reduced the significance of
sb->s_root, allowing NFS to place a fake root there. However, NFS does
require a dentry to use as a target for the statfs operation. This permits
the root in the vfsmount to be used instead.
linux/mount.h has been added where necessary to make allyesconfig build
successfully.
Interest has also been expressed for use with the FUSE and XFS filesystems.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Nathan Scott <nathans@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Remove coda_mknod as the code was never used, coda_hasmknod was always 0.
(reported by Adrian Bunk)
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
The ViceFid structure is really a Coda server datatype and the kernel
really shouldn't have to know its internal structure. Replace all
instances with struct CodaFid with opaque members.
|
|
Both userspace and the kernel are testing only the fsuid part of the
coda_creds credentials structure. Nothing else is really used, so we now
match the code with the actual usage by only passing fsuid around. The
kernel-userspace API is kept compatible (for now).
|
|
Use a global 'epoch' counter to invalidate cached permissions instead of
traversing a racy linked list of all known Coda inodes.
|
|
- Remove unused functions and variables.
- Be a bit more strict with the definition of various types that are
shared between kernel and userspace.
- Included a couple of cleanups from Maximilian Attems and Stephen
Hemminger.
|
|
From: Peter Chubb <peter@chubb.wattle.id.au>
Add two new system calls, statfs64 and fstatfs64. This has been needed
sincew the 64-bit sector_t merge - the current structures will overflow.
- Use a common interface (vfs_statfs) with the rest of the kernel,
- convert to 32-bit at (f)statfs time.
- New field f_frsize gives underlying fragment size for the filesystem.
(Solaris has this, and the Open Group describe it).
- The old statfs syscalls will now return -EOVERFLOW if the device was
too large to be represented inthe old data structures.
The new system calls take a size_t argument, which is the size of the
structure to be filled in (as requested by Ben LaHaise), to `futureproof' the
interface.
Has been reviewed by the arch maintainers and by Ulrich Drepper.
|
|
fs.h only needs the forward-declaration of struct statfs
|
|
The dev_t argument of sys_mknod is passed to vfs_mknod, and is then cast
to int when foo_mknod is called, and is subsequently very often cast
back to dev_t. (For example, minix_mknod() calls minix_set_inode() that
takes a dev_t.)
This is a cleanup that avoids this back-and-forth casting by giving
foo_mknod a prototype with dev_t. In most cases now the dev_t is
transmitted untouched until init_special_inode.
It also makes the two routines hugetlbfs_get_inode() and
shmem_get_inode() static.
|
|
into home.transmeta.com:/home/torvalds/v2.5/linux
|
|
Most of these changes have been tested and used in the 2.4 tree, so this
is mostly a forward port of 2.4 bugfixes.
* C99 initializers
* Added specific initializations instead of assuming that the private
part of the inode is already initialized.
* Remove unused code.
* Moved container file to the struct file private data, this is to
* correct the session semantics model when file updates are fetched from
* the server (old 'sessions' shouldn't see the new container yet).
* Fixed consistency (and occasional oopes) when mmap-ing Coda files.
* Fixing up inode numbers in readdir, old libc5 getcwd was broken.
* Nuked upcall_stats, all of this can easily be maintained in userspace,
and the existing code suffers from overflows in the fixed point
calculations.
|
|
This last patch removes the union, replacing it with s_fs_info.
|
|
- Johannes Erdfelt: USB updates
- David Howells: more rw-sem stuff
- David Miller: network callback cleanups and fixes
- Jan Harkes: make Coda use the proper VFS layer interfaces, so that it can use
"non-traditional-unix" filesystems without inode numbers for backing store.
|
|
|