[PATCH] 2.5.6-pre2 - Coda fixes and cleanups
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.
Showing
Please register or sign in to comment