---

 fs/intermezzo/file.c          |    2 +-
 fs/intermezzo/intermezzo_fs.h |    2 +-
 fs/intermezzo/journal.c       |    4 +---
 fs/intermezzo/presto.c        |    5 +----
 fs/intermezzo/vfs.c           |    7 ++-----
 5 files changed, 6 insertions(+), 14 deletions(-)

diff -puN fs/intermezzo/file.c~RD3-presto_journal_close-mm fs/intermezzo/file.c
--- 25/fs/intermezzo/file.c~RD3-presto_journal_close-mm	2004-01-07 19:05:52.000000000 -0800
+++ 25-akpm/fs/intermezzo/file.c	2004-01-07 19:05:52.000000000 -0800
@@ -336,7 +336,7 @@ static void presto_apply_write_policy(st
                                 unlock_kernel();
                                 return; 
                         }
-                        error = presto_journal_close(&rec, fset, file,
+                        error = presto_journal_close(&rec, fset, fdata,
                                                      file->f_dentry,
                                                      &fdata->fd_version,
                                                      &new_file_ver);
diff -puN fs/intermezzo/intermezzo_fs.h~RD3-presto_journal_close-mm fs/intermezzo/intermezzo_fs.h
--- 25/fs/intermezzo/intermezzo_fs.h~RD3-presto_journal_close-mm	2004-01-07 19:05:52.000000000 -0800
+++ 25-akpm/fs/intermezzo/intermezzo_fs.h	2004-01-07 19:05:52.000000000 -0800
@@ -603,7 +603,7 @@ int presto_journal_rename(struct rec_inf
 int presto_journal_open(struct rec_info *, struct presto_file_set *,
                         struct dentry *, struct presto_version *old_ver);
 int presto_journal_close(struct rec_info *rec, struct presto_file_set *,
-                         struct file *, struct dentry *,
+                         struct presto_file_data *, struct dentry *,
                          struct presto_version *old_file_ver,
                          struct presto_version *new_file_ver);
 int presto_write_lml_close(struct rec_info *rec,
diff -puN fs/intermezzo/journal.c~RD3-presto_journal_close-mm fs/intermezzo/journal.c
--- 25/fs/intermezzo/journal.c~RD3-presto_journal_close-mm	2004-01-07 19:05:52.000000000 -0800
+++ 25-akpm/fs/intermezzo/journal.c	2004-01-07 19:05:52.000000000 -0800
@@ -2103,12 +2103,11 @@ int presto_journal_unlink(struct rec_inf
 
 int
 presto_journal_close(struct rec_info *rec, struct presto_file_set *fset,
-                     struct file *file, struct dentry *dentry,
+                     struct presto_file_data *fd, struct dentry *dentry,
                      struct presto_version *old_file_ver,
                      struct presto_version *new_file_ver)
 {
         int opcode = KML_OPCODE_CLOSE;
-        struct presto_file_data *fd;
         char *buffer, *path, *logrecord, record[316];
         struct dentry *root;
         int error, size, i;
@@ -2137,7 +2136,6 @@ presto_journal_close(struct rec_info *re
 
         root = fset->fset_dentry;
 
-        fd = (struct presto_file_data *)file->private_data;
         if (fd) {
                 open_ngroups = fd->fd_ngroups;
                 for (i = 0; i < fd->fd_ngroups; i++)
diff -puN fs/intermezzo/presto.c~RD3-presto_journal_close-mm fs/intermezzo/presto.c
--- 25/fs/intermezzo/presto.c~RD3-presto_journal_close-mm	2004-01-07 19:05:52.000000000 -0800
+++ 25-akpm/fs/intermezzo/presto.c	2004-01-07 19:05:52.000000000 -0800
@@ -259,11 +259,8 @@ int lento_cancel_lml(char *path, 
 
 
         if (info->flags & LENTO_FL_WRITE_KML) {
-                struct file file;
-                file.private_data = NULL;
-                file.f_dentry = dentry; 
                 presto_getversion(&new_ver, dentry->d_inode);
-                error = presto_journal_close(&rec, fset, &file, dentry, 
+                error = presto_journal_close(&rec, fset, NULL, dentry,
                                              &new_ver);
                 if ( error ) {
                         EXIT; 
diff -puN fs/intermezzo/vfs.c~RD3-presto_journal_close-mm fs/intermezzo/vfs.c
--- 25/fs/intermezzo/vfs.c~RD3-presto_journal_close-mm	2004-01-07 19:05:52.000000000 -0800
+++ 25-akpm/fs/intermezzo/vfs.c	2004-01-07 19:05:52.000000000 -0800
@@ -321,7 +321,7 @@ int presto_do_close(struct presto_file_s
         }
 
         if (fdata->fd_info.flags & LENTO_FL_KML) 
-                rc = presto_journal_close(&rec, fset, file, file->f_dentry,
+                rc = presto_journal_close(&rec, fset, fdata, file->f_dentry,
                                           &fdata->fd_version, 
                                           &fdata->fd_info.remote_version);
         if (rc) { 
@@ -431,14 +431,11 @@ int presto_do_setattr(struct presto_file
 
         if ( presto_do_kml(info, dentry) ) {
                 if ((iattr->ia_valid & ATTR_SIZE) && (old_size != inode->i_size)) {
-                        struct file file;
                         /* Journal a close whenever we see a potential truncate
                         * At the receiving end, lento should explicitly remove
                         * ATTR_SIZE from the list of valid attributes */
                         presto_getversion(&new_ver, inode);
-                        file.private_data = NULL;
-                        file.f_dentry = dentry;
-                        error = presto_journal_close(&rec, fset, &file, dentry,
+                        error = presto_journal_close(&rec, fset, NULL, dentry,
                                                      &old_ver, &new_ver);
                 }
 

_