Fix _fat_bmap() locking
[safe/jmp/linux-2.6] / fs / freevxfs / vxfs_immed.c
index d0401dc..c36aeaf 100644 (file)
@@ -35,6 +35,7 @@
 #include <linux/namei.h>
 
 #include "vxfs.h"
+#include "vxfs_extern.h"
 #include "vxfs_inode.h"
 
 
@@ -48,15 +49,15 @@ static int  vxfs_immed_readpage(struct file *, struct page *);
  * Unliked all other operations we do not go through the pagecache,
  * but do all work directly on the inode.
  */
-struct inode_operations vxfs_immed_symlink_iops = {
+const struct inode_operations vxfs_immed_symlink_iops = {
        .readlink =             generic_readlink,
        .follow_link =          vxfs_immed_follow_link,
 };
 
 /*
- * Adress space operations for immed files and directories.
+ * Address space operations for immed files and directories.
  */
-struct address_space_operations vxfs_immed_aops = {
+const struct address_space_operations vxfs_immed_aops = {
        .readpage =             vxfs_immed_readpage,
 };
 
@@ -99,8 +100,8 @@ static int
 vxfs_immed_readpage(struct file *fp, struct page *pp)
 {
        struct vxfs_inode_info  *vip = VXFS_INO(pp->mapping->host);
-       u_int64_t               offset = pp->index << PAGE_CACHE_SHIFT;
-       caddr_t                 kaddr;
+       u_int64_t       offset = (u_int64_t)pp->index << PAGE_CACHE_SHIFT;
+       caddr_t         kaddr;
 
        kaddr = kmap(pp);
        memcpy(kaddr, vip->vii_immed.vi_immed + offset, PAGE_CACHE_SIZE);