-diff -ur kernel-2.4.18/drivers/block/blkpg.c kernel-2.4.18.patched/drivers/block/blkpg.c
---- kernel-2.4.18/drivers/block/blkpg.c Tue May 7 17:33:10 2002
-+++ kernel-2.4.18.patched/drivers/block/blkpg.c Thu May 30 13:38:14 2002
+--- kernel-rh-2.4.18-pristine/drivers/block/blkpg.c Thu Jun 13 12:26:40 2002
++++ kernel-rh-2.4.18/drivers/block/blkpg.c Thu Jun 13 14:49:48 2002
@@ -295,3 +295,38 @@
}
+EXPORT_SYMBOL(dev_set_rdonly);
+EXPORT_SYMBOL(dev_check_rdonly);
+EXPORT_SYMBOL(dev_clear_rdonly);
-diff -ur kernel-2.4.18/drivers/block/loop.c kernel-2.4.18.patched/drivers/block/loop.c
---- kernel-2.4.18/drivers/block/loop.c Tue May 7 16:48:59 2002
-+++ kernel-2.4.18.patched/drivers/block/loop.c Thu May 30 13:38:14 2002
+--- kernel-rh-2.4.18-pristine/drivers/block/loop.c Thu Jun 13 12:26:40 2002
++++ kernel-rh-2.4.18/drivers/block/loop.c Thu Jun 13 14:49:48 2002
@@ -503,6 +503,11 @@
spin_unlock_irq(&lo->lo_lock);
if (lo->lo_flags & LO_FLAGS_READ_ONLY)
goto err;
} else if (rw == READA) {
-diff -ur kernel-2.4.18/drivers/ide/ide-disk.c kernel-2.4.18.patched/drivers/ide/ide-disk.c
---- kernel-2.4.18/drivers/ide/ide-disk.c Tue May 7 15:43:35 2002
-+++ kernel-2.4.18.patched/drivers/ide/ide-disk.c Thu May 30 13:38:14 2002
+--- kernel-rh-2.4.18-pristine/drivers/ide/ide-disk.c Thu Jun 13 12:26:43 2002
++++ kernel-rh-2.4.18/drivers/ide/ide-disk.c Thu Jun 13 14:49:48 2002
@@ -557,6 +557,12 @@
*/
static ide_startstop_t do_rw_disk (ide_drive_t *drive, struct request *rq, unsigned long block)
if (IDE_CONTROL_REG)
OUT_BYTE(drive->ctl,IDE_CONTROL_REG);
-diff -ur kernel-2.4.18/fs/ext3/Makefile kernel-2.4.18.patched/fs/ext3/Makefile
---- kernel-2.4.18/fs/ext3/Makefile Tue May 7 14:53:46 2002
-+++ kernel-2.4.18.patched/fs/ext3/Makefile Thu May 30 13:38:14 2002
+--- kernel-rh-2.4.18-pristine/fs/ext3/Makefile Thu Jun 13 12:27:00 2002
++++ kernel-rh-2.4.18/fs/ext3/Makefile Thu Jun 13 14:49:48 2002
@@ -9,6 +9,8 @@
O_TARGET := ext3.o
obj-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
ioctl.o namei.o super.o symlink.o
obj-m := $(O_TARGET)
-diff -ur kernel-2.4.18/fs/ext3/super.c kernel-2.4.18.patched/fs/ext3/super.c
---- kernel-2.4.18/fs/ext3/super.c Tue May 7 16:43:17 2002
-+++ kernel-2.4.18.patched/fs/ext3/super.c Thu May 30 13:38:14 2002
+--- kernel-rh-2.4.18-pristine/fs/ext3/super.c Thu Jun 13 12:27:01 2002
++++ kernel-rh-2.4.18/fs/ext3/super.c Thu Jun 13 14:49:48 2002
@@ -1746,7 +1746,7 @@
unregister_filesystem(&ext3_fs_type);
}
MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others");
MODULE_DESCRIPTION("Second Extended Filesystem with journaling extensions");
-diff -ur kernel-2.4.18/fs/jbd/commit.c kernel-2.4.18.patched/fs/jbd/commit.c
---- kernel-2.4.18/fs/jbd/commit.c Tue May 7 15:39:35 2002
-+++ kernel-2.4.18.patched/fs/jbd/commit.c Thu May 30 13:38:14 2002
+--- kernel-rh-2.4.18-pristine/fs/jbd/commit.c Thu Jun 13 12:27:05 2002
++++ kernel-rh-2.4.18/fs/jbd/commit.c Thu Jun 13 14:49:48 2002
@@ -482,7 +482,7 @@
transaction's t_log_list queue, and metadata buffers are on
the t_iobuf_list queue.
/* End of a transaction! Finally, we can do checkpoint
processing: any buffers committed as a result of this
-@@ -617,6 +619,25 @@
- before. */
+@@ -618,6 +620,25 @@
skip_commit:
-+
+
+ /* Call any callbacks that had been registered for handles in this
+ * transaction. It is up to the callback to free any allocated
+ * memory.
+ }
+
+ lock_journal(journal);
-
++
jbd_debug(3, "JBD: commit phase 7\n");
-diff -ur kernel-2.4.18/fs/jbd/journal.c kernel-2.4.18.patched/fs/jbd/journal.c
---- kernel-2.4.18/fs/jbd/journal.c Tue May 7 16:43:17 2002
-+++ kernel-2.4.18.patched/fs/jbd/journal.c Thu May 30 13:38:14 2002
+ J_ASSERT(commit_transaction->t_sync_datalist == NULL);
+--- kernel-rh-2.4.18-pristine/fs/jbd/journal.c Thu Jun 13 12:27:05 2002
++++ kernel-rh-2.4.18/fs/jbd/journal.c Thu Jun 13 14:49:48 2002
@@ -58,6 +58,7 @@
#endif
EXPORT_SYMBOL(journal_flush);
EXPORT_SYMBOL(journal_init_dev);
EXPORT_SYMBOL(journal_init_inode);
-diff -ur kernel-2.4.18/fs/jbd/transaction.c kernel-2.4.18.patched/fs/jbd/transaction.c
---- kernel-2.4.18/fs/jbd/transaction.c Tue May 7 16:43:17 2002
-+++ kernel-2.4.18.patched/fs/jbd/transaction.c Thu May 30 13:38:14 2002
+--- kernel-rh-2.4.18-pristine/fs/jbd/transaction.c Thu Jun 13 12:27:05 2002
++++ kernel-rh-2.4.18/fs/jbd/transaction.c Thu Jun 13 14:49:48 2002
@@ -57,6 +57,7 @@
transaction->t_state = T_RUNNING;
transaction->t_tid = journal->j_transaction_sequence++;
* If the handle is marked SYNC, we need to set another commit
* going! We also want to force a commit if the current
* transaction is occupying too much of the log, or if the
-diff -ur kernel-2.4.18/include/linux/blkdev.h kernel-2.4.18.patched/include/linux/blkdev.h
---- kernel-2.4.18/include/linux/blkdev.h Tue May 7 15:46:15 2002
-+++ kernel-2.4.18.patched/include/linux/blkdev.h Thu May 30 13:42:25 2002
+--- kernel-rh-2.4.18-pristine/include/linux/blkdev.h Thu Jun 13 12:27:14 2002
++++ kernel-rh-2.4.18/include/linux/blkdev.h Thu Jun 13 15:18:33 2002
@@ -276,4 +276,9 @@
}
return retval;
+int dev_check_rdonly(kdev_t);
+void dev_clear_rdonly(int);
#endif
-diff -ur kernel-2.4.18/include/linux/fs.h kernel-2.4.18.patched/include/linux/fs.h
---- kernel-2.4.18/include/linux/fs.h Tue May 7 16:40:30 2002
-+++ kernel-2.4.18.patched/include/linux/fs.h Thu May 30 13:40:51 2002
-@@ -1034,6 +1034,7 @@
- extern struct vfsmount *kern_mount(struct file_system_type *);
- extern int may_umount(struct vfsmount *);
- extern long do_mount(char *, char *, char *, unsigned long, void *);
-+struct vfsmount *do_kern_mount(const char *type, int flags, char *name, void *data);
- extern void umount_tree(struct vfsmount *);
-
- #define kern_umount mntput
-diff -ur kernel-2.4.18/include/linux/jbd.h kernel-2.4.18.patched/include/linux/jbd.h
---- kernel-2.4.18/include/linux/jbd.h Tue May 7 16:43:17 2002
-+++ kernel-2.4.18.patched/include/linux/jbd.h Thu May 30 13:38:14 2002
+--- kernel-rh-2.4.18-pristine/include/linux/jbd.h Thu Jun 13 12:27:14 2002
++++ kernel-rh-2.4.18/include/linux/jbd.h Thu Jun 13 15:18:35 2002
@@ -257,6 +257,13 @@
return bh->b_private;
}
extern void journal_lock_updates (journal_t *);
extern void journal_unlock_updates (journal_t *);
-diff -ur kernel-2.4.18/kernel/ksyms.c kernel-2.4.18.patched/kernel/ksyms.c
---- kernel-2.4.18/kernel/ksyms.c Mon May 20 00:15:42 2002
-+++ kernel-2.4.18.patched/kernel/ksyms.c Thu May 30 13:38:14 2002
+--- kernel-rh-2.4.18-pristine/kernel/ksyms.c Thu Jun 13 12:27:15 2002
++++ kernel-rh-2.4.18/kernel/ksyms.c Thu Jun 13 14:49:48 2002
@@ -305,6 +305,11 @@
EXPORT_SYMBOL(lock_may_write);
EXPORT_SYMBOL(dcache_readdir);
/* for stackable file systems (lofs, wrapfs, cryptfs, etc.) */
EXPORT_SYMBOL(default_llseek);
EXPORT_SYMBOL(dentry_open);
+--- kernel-rh-2.4.18/fs/nfsd/vfs.c.orig-lustre Thu Jun 13 15:28:25 2002
++++ kernel-rh-2.4.18/fs/nfsd/vfs.c Thu Jun 13 15:28:40 2002
+@@ -1285,7 +1285,7 @@
+ err = nfserr_perm;
+ } else
+ #endif
+- err = vfs_rename(fdir, odentry, tdir, ndentry);
++ err = vfs_rename(fdir, odentry, tdir, ndentry, NULL);
+ if (!err && EX_ISSYNC(tfhp->fh_export)) {
+ nfsd_sync_dir(tdentry);
+ nfsd_sync_dir(fdentry);