intermezzo build errors (2.5.49)

From: Randy.Dunlap (randy.dunlap@verizon.net)
Date: Sun Nov 24 2002 - 01:56:51 EST


Hi,

intermezzo has syntax errors in 2.5.49-plain,
mostly due to inode time field changes from time_t
to struct timespec. Patches attached for your review.
These just use timespec.tv_sec in place of the previous
time_t fields, gaining no time resolution. I thought
I should leave that decision up to you.

There is still one outstanding problem, which is in
vfs.c, where BLKDEV_FAIL() calls set_device_ro() with
the incorrect parameter type, which has changed from
kdev_t to struct block_device *. Is it safe to just
kill this (debug) code? Killing BLKDEV_FAIL() does
allow it to build successfully.

Thanks,
~Randy

--- ./fs/intermezzo/file.c%intmez Fri Nov 22 13:40:50 2002
+++ ./fs/intermezzo/file.c Sat Nov 23 22:06:54 2002
@@ -61,7 +61,7 @@
 
 static int presto_open_upcall(int minor, struct dentry *de)
 {
- int rc;
+ int rc = 0;
         char *path, *buffer;
         struct presto_file_set *fset;
         int pathlen;
@@ -291,7 +291,7 @@
                         return -EROFS;
                 }
         
- fdata->fd_info.updated_time = file->f_dentry->d_inode->i_mtime;
+ fdata->fd_info.updated_time = file->f_dentry->d_inode->i_mtime.tv_sec;
                 rc = presto_do_close(fset, file);
                 presto_put_permit(inode);
         }
--- ./fs/intermezzo/kml_reint.c%intmez Fri Nov 22 13:40:58 2002
+++ ./fs/intermezzo/kml_reint.c Sat Nov 23 22:16:56 2002
@@ -31,6 +31,7 @@
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
 #include <linux/mm.h>
+#include <linux/time.h>
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
 #include <asm/mmu_context.h>
@@ -100,7 +101,7 @@
                 return 0;
         }
 
- if (inode->i_mtime == a->pv_mtime &&
+ if (inode->i_mtime.tv_sec == a->pv_mtime &&
             (S_ISDIR(inode->i_mode) || inode->i_size == a->pv_size))
                 return 1;
 
@@ -126,8 +127,8 @@
                 struct iattr iattr;
 
                 iattr.ia_valid = ATTR_CTIME | ATTR_MTIME | ATTR_SIZE;
- iattr.ia_mtime = (time_t)rec->new_objectv->pv_mtime;
- iattr.ia_ctime = (time_t)rec->new_objectv->pv_ctime;
+ iattr.ia_mtime.tv_sec = (time_t)rec->new_objectv->pv_mtime;
+ iattr.ia_ctime.tv_sec = (time_t)rec->new_objectv->pv_ctime;
                 iattr.ia_size = (time_t)rec->new_objectv->pv_size;
 
                 /* no kml record, but update last rcvd */
@@ -311,8 +312,8 @@
         iattr.ia_uid = (uid_t)rec->uid;
         iattr.ia_gid = (gid_t)rec->gid;
         iattr.ia_size = (off_t)rec->size;
- iattr.ia_ctime = (time_t)rec->ctime;
- iattr.ia_mtime = (time_t)rec->mtime;
+ iattr.ia_ctime.tv_sec = (time_t)rec->ctime;
+ iattr.ia_mtime.tv_sec = (time_t)rec->mtime;
         iattr.ia_atime = iattr.ia_mtime; /* We don't track atimes. */
         iattr.ia_attr_flags = rec->flags;
 
--- ./fs/intermezzo/presto.c%intmez Fri Nov 22 13:40:47 2002
+++ ./fs/intermezzo/presto.c Sat Nov 23 22:18:24 2002
@@ -28,6 +28,7 @@
 #include <linux/fs.h>
 #include <linux/namei.h>
 #include <linux/stat.h>
+#include <linux/time.h>
 #include <linux/errno.h>
 #include <linux/vmalloc.h>
 #include <linux/slab.h>
@@ -627,8 +628,8 @@
 void presto_getversion(struct presto_version * presto_version,
                        struct inode * inode)
 {
- presto_version->pv_mtime = (__u64)inode->i_mtime;
- presto_version->pv_ctime = (__u64)inode->i_ctime;
+ presto_version->pv_mtime = (__u64)inode->i_mtime.tv_sec;
+ presto_version->pv_ctime = (__u64)inode->i_ctime.tv_sec;
         presto_version->pv_size = (__u64)inode->i_size;
 }
 
--- ./fs/intermezzo/vfs.c%intmez Fri Nov 22 13:40:28 2002
+++ ./fs/intermezzo/vfs.c Sat Nov 23 22:21:28 2002
@@ -67,6 +67,7 @@
 #include <linux/fs.h>
 #include <linux/namei.h>
 #include <linux/blk.h>
+#include <linux/time.h>
 
 #include <linux/intermezzo_fs.h>
 #include <linux/intermezzo_psdev.h>
@@ -237,8 +238,8 @@
                 return 0;
         }
 
- iattr.ia_ctime = ctx->updated_time;
- iattr.ia_mtime = ctx->updated_time;
+ iattr.ia_ctime.tv_sec = ctx->updated_time;
+ iattr.ia_mtime.tv_sec = ctx->updated_time;
         iattr.ia_valid = valid;
 
         while (1) {
@@ -475,7 +476,7 @@
                name, iattr->ia_valid, iattr->ia_mode, iattr->ia_uid,
                iattr->ia_gid, iattr->ia_size);
         CDEBUG(D_PIOCTL, "atime %#lx, mtime %#lx, ctime %#lx, attr_flags %#x\n",
- iattr->ia_atime, iattr->ia_mtime.tv_sec, iattr->ia_ctime.tv_sec,
+ iattr->ia_atime.tv_sec, iattr->ia_mtime.tv_sec, iattr->ia_ctime.tv_sec,
                iattr->ia_attr_flags);
         CDEBUG(D_PIOCTL, "offset %d, recno %d, flags %#x\n",
                info->slot_offset, info->recno, info->flags);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Nov 30 2002 - 22:00:09 EST