Re: Linux 2.1.32 - testing new NFS

Ingo Molnar (root@localhost.rutgers.edu)
Mon, 7 Apr 1997 15:33:46 -0400


On 5 Apr 1997, Linus Torvalds wrote:

> Ok, I just released 2.1.32 (in fact, it's still being in the process of
> being sent to Finland, but you can already get it from ftp.kernel.org).

The following file contains the changes I needed to get 2.1.32 to
compile and load modules properly.

The first 4 diffs are my set, and I haven't posted them, but someone
else may have caught them or have different and better ways of doing
things.

The second set have already been submitted somewhere.

In the first set, i386_ksyms needs to export lots of interrupt stuff. NFS
will work as a module, but you need RPC to compile as a module as well,
and the patch fixes the Config.in dependency. The third corrects a subtle
problem where depmod -a will say msdos.o depends on msdos.o. The last one
is a quick hack to make some modules compile which use this call which has
disappeared.

tz@execpc.com
finger tz@execpc.com for PGP key

diff -Bbur linux/arch/i386/kernel/i386_ksyms.c linux-2.1.32/arch/i386/kernel/i386_ksyms.c
--- linux/arch/i386/kernel/i386_ksyms.c Mon Mar 31 16:25:25 1997
+++ linux-2.1.32/arch/i386/kernel/i386_ksyms.c Mon Apr 7 14:27:10 1997
@@ -13,6 +13,8 @@
#include <asm/checksum.h>
#include <asm/io.h>

+#include <asm/hardirq.h>
+
extern void dump_thread(struct pt_regs *, struct user *);
extern int dump_fpu(elf_fpregset_t *);
extern void __lock_kernel(void);
@@ -32,6 +34,17 @@

/* Networking helper routines. */
EXPORT_SYMBOL(csum_partial_copy);
+
+/* for modules to access irq stuff */
+EXPORT_SYMBOL(__global_cli);
+EXPORT_SYMBOL(__global_sti);
+EXPORT_SYMBOL(__global_save_flags);
+EXPORT_SYMBOL(__global_restore_flags);
+EXPORT_SYMBOL(tqueue_lock);
+EXPORT_SYMBOL(waitqueue_lock);
+EXPORT_SYMBOL(local_irq_count);
+EXPORT_SYMBOL(global_irq_holder);
+EXPORT_SYMBOL(synchronize_irq);

#ifdef __SMP__
EXPORT_SYMBOL(apic_reg); /* Needed internally for the I386 inlines */
diff -Bbur linux/fs/Config.in linux-2.1.32/fs/Config.in
--- linux/fs/Config.in Mon Apr 7 16:19:01 1997
+++ linux-2.1.32/fs/Config.in Mon Apr 7 13:52:58 1997
@@ -17,7 +17,7 @@
bool '/proc filesystem support' CONFIG_PROC_FS
if [ "$CONFIG_INET" = "y" ]; then
tristate 'NFS filesystem support' CONFIG_NFS_FS
- if [ "$CONFIG_NFS_FS" = "y" ]; then
+ if [ "$CONFIG_NFS_FS" != "n" ]; then
define_bool CONFIG_SUNRPC y
define_bool CONFIG_LOCKD y
bool ' Root file system on NFS' CONFIG_ROOT_NFS
diff -Bbur linux/fs/msdos/msdosfs_syms.c linux-2.1.32/fs/msdos/msdosfs_syms.c
--- linux/fs/msdos/msdosfs_syms.c Tue Mar 11 16:24:58 1997
+++ linux-2.1.32/fs/msdos/msdosfs_syms.c Mon Apr 7 14:15:08 1997
@@ -29,7 +29,7 @@
EXPORT_SYMBOL(msdos_put_super);


-static struct file_system_type msdos_fs_type = {
+struct file_system_type msdos_fs_type = {
msdos_read_super, "msdos", 1, NULL
};

diff -Bbur linux/include/linux/tqueue.h linux-2.1.32/include/linux/tqueue.h
--- linux/include/linux/tqueue.h Mon Mar 24 19:43:04 1997
+++ linux-2.1.32/include/linux/tqueue.h Mon Apr 7 13:12:15 1997
@@ -77,6 +77,7 @@

extern spinlock_t tqueue_lock;

+#define queue_task_irq_off queue_task
/*
* queue_task
*/

######################################################
OLD FIXES ALREADY POSTED BUT INCLUDED FOR COMPLETENESS
######################################################

diff -Bbur linux/drivers/block/xd.h linux-2.1.32/drivers/block/xd.h
--- linux/drivers/block/xd.h Mon Sep 30 09:52:47 1996
+++ linux-2.1.32/drivers/block/xd.h Mon Apr 7 11:56:23 1997
@@ -112,7 +112,7 @@
static int xd_open (struct inode *inode,struct file *file);
static void do_xd_request (void);
static int xd_ioctl (struct inode *inode,struct file *file,unsigned int cmd,unsigned long arg);
-static void xd_release (struct inode *inode,struct file *file);
+static int xd_release (struct inode *inode,struct file *file);
static int xd_reread_partitions (kdev_t dev);
static int xd_readwrite (u_char operation,u_char drive,char *buffer,u_int block,u_int count);
static void xd_recalibrate (u_char drive);
diff -Bbur linux/drivers/net/ltpc.c linux-2.1.32/drivers/net/ltpc.c
--- linux/drivers/net/ltpc.c Mon Mar 31 15:52:30 1997
+++ linux-2.1.32/drivers/net/ltpc.c Mon Apr 7 12:06:58 1997
@@ -1258,7 +1258,7 @@
if(debug&DEBUG_VERBOSE) printk("waiting\n");
/* if it's in process, wait a bit for it to finish */
timeout = jiffies+HZ;
- add_timer(&ltpc_timer)
+ add_timer(&ltpc_timer);
while(del_timer(&ltpc_timer) && (timeout > jiffies))
{
add_timer(&ltpc_timer);
diff -Bbur linux/net/ipv4/ipmr.c linux-2.1.32/net/ipv4/ipmr.c
--- linux/net/ipv4/ipmr.c Mon Mar 31 15:52:32 1997
+++ linux-2.1.32/net/ipv4/ipmr.c Mon Apr 7 11:41:18 1997
@@ -357,7 +357,7 @@
/* If the report failed throw the cache entry
out - Brad Parker */
if(ipmr_cache_report(skb, vifi, 0)<0)
- impr_cache_delete(cache);
+ ipmr_cache_delete(cache);
}
}
/*