support-reiserfs-20010129
authorChaskiel M Grundman <cg2v@andrew.cmu.edu>
Mon, 29 Jan 2001 17:47:38 +0000 (17:47 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 29 Jan 2001 17:47:38 +0000 (17:47 +0000)
Minor patch needed to work correctly on suse, where reiserfs is included by default.

src/afs/LINUX/osi_vfs.h
src/afs/LINUX/osi_vnodeops.c

index 77b7bcf..3d0edba 100644 (file)
@@ -36,7 +36,7 @@ typedef struct vnode {
        uid_t                   i_uid;
        gid_t                   i_gid;
        kdev_t                  i_rdev;
-#if defined(AFS_LINUX24_ENV)
+#if defined(AFS_LINUX24_ENV) || defined(_REISER_FS_I) /* XXX need better test */
         loff_t                  i_size;
 #else
        off_t                   i_size;
index 05cfc8a..e322a9f 100644 (file)
 #include "../h/smp_lock.h"
 #endif
 
+#ifdef pgoff2loff
+#define pageoff(pp) pgoff2loff((pp)->index)
+#else
+#define pageoff(pp) pp->offset
+#endif
+
 extern struct vcache *afs_globalVp;
 
 extern struct dentry_operations *afs_dops;
@@ -1137,7 +1143,7 @@ int afs_linux_readpage(struct file *fp, struct page *pp)
     setup_uio(&tuio, &iovec, (char*)address, pp->index << PAGE_CACHE_SHIFT,
              PAGESIZE, UIO_READ, AFS_UIOSYS);
 #else
-    setup_uio(&tuio, &iovec, (char*)address, pp->offset, PAGESIZE,
+    setup_uio(&tuio, &iovec, (char*)address, pageoff(pp), PAGESIZE,
              UIO_READ, AFS_UIOSYS);
 #endif
 #ifdef AFS_LINUX24_ENV
@@ -1322,7 +1328,7 @@ int afs_linux_updatepage(struct file *fp, struct page *pp,
               ICL_TYPE_POINTER, pp,
               ICL_TYPE_INT32, atomic_read(&pp->count),
               ICL_TYPE_INT32, 99999);
-    setup_uio(&tuio, &iovec, page_addr + offset, pp->offset + offset, count,
+    setup_uio(&tuio, &iovec, page_addr + offset, pageoff(pp) + offset, count,
              UIO_WRITE, AFS_UIOSYS);
 
     code = afs_write(vcp, &tuio, fp->f_flags, credp, 0);