summaryrefslogtreecommitdiff
path: root/include/linux/coda_linux.h
AgeCommit message (Collapse)Author
2010-10-25Coda: add spin lock to protect accesses to struct coda_inode_info.Yoshihisa Abe
We mostly need it to protect cached user permissions. The c_flags field is advisory, reading the wrong value is harmless and in the worst case we hit a slow path where we have to make an extra upcall to the userspace cache manager when revalidating a dentry or inode. 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>
2008-07-26[PATCH] sanitize ->permission() prototypeAl Viro
* kill nameidata * argument; map the 3 bits in ->flags anybody cares about to new MAY_... ones and pass with the mask. * kill redundant gfs2_iop_permission() * sanitize ecryptfs_permission() * fix remaining places where ->permission() instances might barf on new MAY_... found in mask. The obvious next target in that direction is permission(9) folded fix for nfs_permission() breakage from Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2008-04-29fs/coda: remove static inline forward declarationsIlpo Järvinen
They're defined later on in the same file with bodies and nothing in between needs them. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi> Acked-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>
2007-07-21coda: remove CODA_STORE/CODA_RELEASE upcallsJan Harkes
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>
2007-07-19coda: remove statistics counters from /proc/fs/codaJan Harkes
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>
2007-02-12[PATCH] mark struct inode_operations const 3Arjan van de Ven
Many struct inode_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2006-12-13[PATCH] getting rid of all casts of k[cmz]alloc() callsRobert P. J. Day
Run this: #!/bin/sh for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do echo "De-casting $f..." perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f done And then go through and reinstate those cases where code is casting pointers to non-pointers. And then drop a few hunks which conflicted with outstanding work. Cc: Russell King <rmk@arm.linux.org.uk>, Ian Molton <spyro@f2s.com> Cc: Mikael Starvik <starvik@axis.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jeff Dike <jdike@addtoit.com> Cc: Greg KH <greg@kroah.com> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Paul Fulghum <paulkf@microgate.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Karsten Keil <kkeil@suse.de> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: Jeff Garzik <jeff@garzik.org> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: Ian Kent <raven@themaw.net> Cc: Steven French <sfrench@us.ibm.com> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Neil Brown <neilb@cse.unsw.edu.au> Cc: Jaroslav Kysela <perex@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-28[PATCH] mark address_space_operations constChristoph Hellwig
Same as with already do with the file operations: keep them in .rodata and prevents people from doing runtime patching. Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Steven French <sfrench@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-23[PATCH] vfs: add lock owner argument to flush operationMiklos Szeredi
Pass the POSIX lock owner ID to the flush operation. This is useful for filesystems which don't want to store any locking state in inode->i_flock but want to handle locking/unlocking POSIX locks internally. FUSE is one such filesystem but I think it possible that some network filesystems would need this also. Also add a flag to indicate that a POSIX locking request was generated by close(), so filesystems using the above feature won't send an extra locking request in this case. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-28[PATCH] Make most file operations structs in fs/ constArjan van de Ven
This is a conversion to make the various file_operations structs in fs/ const. Basically a regexp job, with a few manual fixups The goal is both to increase correctness (harder to accidentally write to shared datastructures) and reducing the false sharing of cachelines with things that get dirty in .data (while .rodata is nicely read only and thus cache clean) Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2003-09-16[PATCH] Coda updates [4/5]Jan Harkes
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.
2003-09-16[PATCH] Coda updates [3/5]Jan Harkes
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).
2003-09-16[PATCH] Coda updates [1/5]Jan Harkes
- 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.
2003-07-03[PATCH] Pass 'nameidata' to ->permission()Trond Myklebust
- Make the VFS pass the struct nameidata as an optional parameter to the permission() inode operation. - Patch may_create()/may_open() so it passes the struct nameidata from vfs_create()/open_namei() as an argument to permission(). - Add an intent flag for the sys_access() function.
2002-11-16[PATCH] remove sched.h from coda_linux.hMatthew Wilcox
coda_linux simply doesn't need sched.h
2002-10-11[PATCH] Coda FS updateJan Harkes
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.
2002-05-21[PATCH] kill ->i_op->revalidate()Alexander Viro
kill ->i_op->revalidate()
2002-03-01[PATCH] 2.5.6-pre2 - Coda fixes and cleanupsJan Harkes
Here is a batch of accumulated bugfixes and cleanups for the Coda kernel module. Patch is against 2.5.6-pre2, I could also send these as separate patches. bugfix: Fix coda_dentry_revalidate bug Due to a bad test, coda_dentry_revalidate was forcing revalidation of cacheable inodes, and allowed caching of non-cacheable inodes. bugfix: Corrected i_mtime/i_ctime setting i_mtime and i_ctime were not always updated when writing to a file, or when modifying inode attributes. cleanup/optimization: Avoid getattr upcalls We can use coda_iget directly instead of coda_cnode_make when an upcall returns attributes and avoid the getattr upcall altogether. cleanup: Removed debugging messages CDEBUG macros haven't been useful ever since the initial development when they were introduced. They are too verbose for debugging purposes. Removing these saves about a third of the compiled size of the module. Removed print_entry variable that was used by ENTRY/EXIT macros which are already gone. cleanup/optimization: Readdir simplification Relying on the fact that the pagecache is already buffering far more efficiently, simplified coda_readdir implementation. We can now fill the complete userbuffer instead of returning after reading only 2KB. Passing dir entry types that are present in the venus_dirent structure to the user as well. cleanup: Removed redundant permissions statistics counters. The permission check count is about identical to the 'permission' field in the VFS stats, and the permission hit counter can trivially be derived from upcall_stats.access - vfs_stats.permission. Removed these redundant counters. cleanup: Removed useless test for c_flags in coda_revalidate_inode. We already know c_flags is set due to earlier tests.
2002-02-05v2.5.2.2 -> v2.5.2.3Linus Torvalds
- Al Viro: VFS inode allocation moved down to filesystem, trim inodes - Greg KH: USB update, hotplug documentation - Kai Germaschewski: ISDN update - Ingo Molnar: scheduler tweaking ("J2") - Arnaldo: emu10k kdev_t updates - Ben Collins: firewire updates - Björn Wesen: cris arch update - Hal Duston: ps2esdi driver bio/kdev_t fixes - Jean Tourrilhes: move wireless drivers into drivers/net/wireless, update wireless API #1 - Richard Gooch: devfs race fix - OGAWA Hirofumi: FATFS update
2002-02-04v2.5.0.5 -> v2.5.0.6Linus Torvalds
- Jens Axboe: more bio stuff - Coda compile fixes - Nathan Laredo: stradis driver update
2002-02-04v2.4.3.6 -> v2.4.3.7Linus Torvalds
- 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.
2002-02-04v2.4.1.2 -> v2.4.1.3Linus Torvalds
- Jens: better ordering of requests when unable to merge - Neil Brown: make md work as a module again (we cannot autodetect in modules, not enough background information) - Neil Brown: raid5 SMP locking cleanups - Neil Brown: nfsd: handle Irix NFS clients named pipe behavior and dentry leak fix - maestro3 shutdown fix - fix dcache hash calculation that could cause bad hashes under certain circumstances (Dean Gaudet) - David Miller: networking and sparc updates - Jeff Garzik: include file cleanups - Andy Grover: ACPI update - Coda-fs error return fixes - rth: alpha Jensen update
2002-02-04Import changesetLinus Torvalds