Messages in this thread Patch in this message |  | | Date | Mon, 13 May 1996 08:48:16 +0100 | From | Alan Cox <> | Subject | 2.0pre2 patch #2 |
| |
I missed a tiny change from the first patch which causes VFS: Close .. errors. I've included that, the much needed for 2.0 ability to turn off mandatory locks, done in a way that you can load an fs module built for either setting regardless of which way it was built.
Also a load of message fixes ready for 2.0 and for putting KERN_* in front of things.
Alan
--- ./fs/locks.c.old Sun May 12 17:34:30 1996 +++ ./fs/locks.c Mon May 13 01:54:37 1996 @@ -75,6 +75,10 @@ * Fixed deadlock condition for pathological code that mixes calls to * flock() and fcntl(). * Andy Walker (andy@lysaker.kvaerner.no), April 29, 1996. + * + * BUG: MUST DISALLOW MANDATORY LOCK ON NFS/SMB/NCP FILE SYSTEM + * TO MATCH SYS5.4 SEMANTICS. + * */ #include <linux/malloc.h> @@ -336,6 +340,7 @@ int locks_mandatory_locked(struct inode *inode) { +#ifdef CONFIG_LOCK_MANDATORY struct file_lock *fl; /* Search the lock list for this inode for any POSIX locks. @@ -344,6 +349,7 @@ if ((fl->fl_flags & F_POSIX) && (fl->fl_owner != current)) return (-EAGAIN); } +#endif return (0); } @@ -353,16 +359,19 @@ /* Candidates for mandatory locking have the setgid bit set * but no group execute bit - an otherwise meaningless combination. */ +#ifdef CONFIG_LOCK_MANDATORY if ((inode->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID) return (locks_mandatory_area(read_write, inode, filp, offset, count)); +#endif return (0); } - + int locks_mandatory_area(int read_write, struct inode *inode, struct file *filp, unsigned int offset, unsigned int count) { +#ifdef CONFIG_LOCK_MANDATORY struct file_lock *fl; repeat: @@ -401,6 +410,7 @@ goto repeat; } } +#endif return (0); } --- ./fs/Config.in.old Sun May 12 17:34:28 1996 +++ ./fs/Config.in Mon May 13 00:34:00 1996 @@ -5,6 +5,7 @@ comment 'Filesystems' bool 'Quota support' CONFIG_QUOTA +bool 'Mandatory lock support' CONFIG_LOCK_MANDATORY tristate 'Minix fs support' CONFIG_MINIX_FS tristate 'Extended fs support' CONFIG_EXT_FS tristate 'Second extended fs support' CONFIG_EXT2_FS --- ./net/unix/garbage.c.old Sun May 12 18:28:33 1996 +++ ./net/unix/garbage.c Mon May 13 00:39:18 1996 @@ -259,8 +259,15 @@ * We exist only in the passing tree of sockets * that is no longer connected to active descriptors * Time to die.. + * + * Subtle item: We will correctly sweep out the + * socket that has just been closed by the user. + * We must not close this as we are in the middle + * of its close at this moment. Skip that file + * using f_count==0 to spot it. */ - if(s->socket && s->socket->file) + + if(s->socket && s->socket->file && s->socket->file->f_count) close_fp(s->socket->file); } else --- ./net/unix/af_unix.c.old Sun May 12 18:28:36 1996 +++ ./net/unix/af_unix.c Mon May 13 01:12:01 1996 @@ -1086,7 +1086,7 @@ ) { kfree(cm); - printk("recvmsg: Bad msg_accrights\n"); +/* printk("recvmsg: Bad msg_accrights\n");*/ return -EINVAL; } } @@ -1306,7 +1306,7 @@ void unix_proto_init(struct net_proto *pro) { - printk("NET3: Unix domain sockets 0.12 for Linux NET3.033.\n"); + printk(KERN_INFO "NET3: Unix domain sockets 0.12 for Linux NET3.035.\n"); sock_register(unix_proto_ops.family, &unix_proto_ops); #ifdef CONFIG_PROC_FS proc_net_register(&(struct proc_dir_entry) { --- ./net/appletalk/aarp.c.old Mon May 13 00:57:58 1996 +++ ./net/appletalk/aarp.c Mon May 13 00:58:09 1996 @@ -794,7 +794,7 @@ void aarp_proto_init(void) { if((aarp_dl=register_snap_client(aarp_snap_id, aarp_rcv))==NULL) - printk("Unable to register AARP with SNAP.\n"); + printk(KERN_CRIT "Unable to register AARP with SNAP.\n"); init_timer(&aarp_timer); aarp_timer.function=aarp_expire_timeout; aarp_timer.data=0; --- ./net/appletalk/ddp.c.old Mon May 13 00:58:13 1996 +++ ./net/appletalk/ddp.c Mon May 13 01:03:01 1996 @@ -830,7 +830,7 @@ limit=ntohs(nr->nr_lastnet); if(limit-ntohs(nr->nr_firstnet) > 256) { - printk("Too many routes/iface.\n"); + printk(KERN_WARING "Too many routes/iface.\n"); return -EINVAL; } for(ct=ntohs(nr->nr_firstnet);ct<=limit;ct++) @@ -2013,7 +2013,7 @@ { (void) sock_register(atalk_proto_ops.family, &atalk_proto_ops); if ((ddp_dl = register_snap_client(ddp_snap_id, atalk_rcv)) == NULL) - printk("Unable to register DDP with SNAP.\n"); + printk(KERN_CRIT "Unable to register DDP with SNAP.\n"); ltalk_packet_type.type=htons(ETH_P_LOCALTALK); dev_add_pack(<alk_packet_type); @@ -2043,7 +2043,7 @@ atalk_if_get_info }); - printk(KERN_INFO "Appletalk 0.17 for Linux NET3.034\n"); + printk(KERN_INFO "Appletalk 0.17 for Linux NET3.035\n"); } #ifdef MODULE --- ./net/ax25/af_ax25.c.old Mon May 13 00:53:49 1996 +++ ./net/ax25/af_ax25.c Mon May 13 00:55:25 1996 @@ -636,8 +636,10 @@ case AX25_PACLEN: if (ax25_ctl.arg < 16 || ax25_ctl.arg > 65535) return -EINVAL; +#if 0 if (ax25_ctl.arg > 256) /* we probably want this */ - printk("ax25_ctl_ioctl: Warning --- huge paclen %d\n", (int)ax25_ctl.arg); + printk(KERN_WARNING "ax25_ctl_ioctl: Warning --- huge paclen %d\n", (int)ax25_ctl.arg); +#endif ax25->paclen = ax25_ctl.arg; break; @@ -2413,7 +2415,7 @@ ax25_cs_get_info }); - printk("G4KLX/GW4PTS AX.25 for Linux. Version 0.32 BETA for Linux NET3.034 (Linux 1.3.77)\n"); + printk(KERN_INFO "G4KLX/GW4PTS AX.25 for Linux. Version 0.32 BETA for Linux NET3.035 (Linux 2.0)\n"); #ifdef CONFIG_BPQETHER proc_net_register(&(struct proc_dir_entry) { @@ -2423,7 +2425,7 @@ ax25_bpq_get_info }); - printk("G8BPQ Encapsulation of AX.25 frames enabled\n"); + printk(KERN_INFO "G8BPQ Encapsulation of AX.25 frames enabled\n"); #endif } @@ -2451,7 +2453,7 @@ int size; if(skb_headroom(skb) < AX25_BPQ_HEADER_LEN) { - printk("ax25_queue_xmit: not enough space to add BPQ Ether header\n"); + printk(KERN_CRIT "ax25_queue_xmit: not enough space to add BPQ Ether header\n"); dev_kfree_skb(skb, FREE_WRITE); return; } @@ -2522,7 +2524,7 @@ *buff++ = AX25_P_ARP; break; default: - printk("wrong protocol type 0x%x2.2\n", type); + printk(KERN_ERR "wrong protocol type 0x%x2.2\n", type); *buff++ = 0; break; } --- ./net/ax25/ax25_out.c.old Mon May 13 00:55:47 1996 +++ ./net/ax25/ax25_out.c Mon May 13 00:56:17 1996 @@ -99,7 +99,7 @@ */ if ((skbn = alloc_skb(mtu + 2 + frontlen, GFP_ATOMIC)) == NULL) { restore_flags(flags); - printk("ax25_output: alloc_skb returned NULL\n"); + printk(KERN_DEBUG "ax25_output: alloc_skb returned NULL\n"); if (skb_device_locked(skb)) skb_device_unlock(skb); return; @@ -268,7 +268,7 @@ } if (skb_headroom(skb) < size_ax25_addr(ax25->digipeat)) { - printk("ax25_transmit_buffer: not enough room for digi-peaters\n"); + printk(KERN_CRIT "ax25_transmit_buffer: not enough room for digi-peaters\n"); skb->free = 1; kfree_skb(skb, FREE_WRITE); return; --- ./net/ax25/ax25_route.c.old Mon May 13 00:56:29 1996 +++ ./net/ax25/ax25_route.c Mon May 13 00:57:06 1996 @@ -598,7 +598,7 @@ len = ax25_rt->digipeat->ndigi * AX25_ADDR_LEN; if (skb_headroom(skb) < len) { - printk("ax25_dg_build_path: not enough headroom for digis in skb\n"); + printk(KERN_CRIT "ax25_dg_build_path: not enough headroom for digis in skb\n"); return; } @@ -659,7 +659,7 @@ struct ax25_dev *ax25_dev; if ((ax25_dev = ax25_dev_get_dev(dev)) == NULL) { - printk("ax25_dev_get_flag called with invalid device\n"); + printk(KERN_WARNING "ax25_dev_get_flag called with invalid device\n"); return 1; } --- ./net/core/skbuff.c.old Mon May 13 01:03:16 1996 +++ ./net/core/skbuff.c Mon May 13 01:04:39 1996 @@ -69,13 +69,13 @@ void show_net_buffers(void) { - printk("Networking buffers in use : %u\n",net_skbcount); - printk("Network buffers locked by drivers : %u\n",net_locked); - printk("Total network buffer allocations : %u\n",net_allocs); - printk("Total failed network buffer allocs : %u\n",net_fails); - printk("Total free while locked events : %u\n",net_free_locked); + printk(KERN_INFO "Networking buffers in use : %u\n",net_skbcount); + printk(KERN_INFO "Network buffers locked by drivers : %u\n",net_locked); + printk(KERN_INFO "Total network buffer allocations : %u\n",net_allocs); + printk(KERN_INFO "Total failed network buffer allocs : %u\n",net_fails); + printk(KERN_INFO "Total free while locked events : %u\n",net_free_locked); #ifdef CONFIG_INET - printk("IP fragment buffer size : %u\n",ip_frag_mem); + printk(KERN_INFO "IP fragment buffer size : %u\n",ip_frag_mem); #endif } @@ -578,7 +578,7 @@ { if (skb == NULL) { - printk("kfree_skb: skb = NULL (from %p)\n", + printk(KERN_CRIT "kfree_skb: skb = NULL (from %p)\n", __builtin_return_address(0)); return; } @@ -592,10 +592,10 @@ return; } if (skb->free == 2) - printk("Warning: kfree_skb passed an skb that nobody set the free flag on! (from %p)\n", + printk(KERN_WARNING "Warning: kfree_skb passed an skb that nobody set the free flag on! (from %p)\n", __builtin_return_address(0)); if (skb->list) - printk("Warning: kfree_skb passed an skb still on a list (from %p).\n", + printk(KERN_WARNING "Warning: kfree_skb passed an skb still on a list (from %p).\n", __builtin_return_address(0)); if(skb->destructor) @@ -641,7 +641,7 @@ { static int count = 0; if (++count < 5) { - printk("alloc_skb called nonatomically from interrupt %p\n", + printk(KERN_ERR "alloc_skb called nonatomically from interrupt %p\n", __builtin_return_address(0)); priority = GFP_ATOMIC; } --- ./net/core/dev.c.old Mon May 13 01:04:52 1996 +++ ./net/core/dev.c Mon May 13 01:05:04 1996 @@ -184,7 +184,7 @@ return; } } - printk("dev_remove_pack: %p not found.\n", pt); + printk(KERN_WARNING "dev_remove_pack: %p not found.\n", pt); } /***************************************************************************************** @@ -360,7 +360,7 @@ #ifdef CONFIG_NET_DEBUG if (pri >= DEV_NUMBUFFS) { - printk("bad priority in dev_queue_xmit.\n"); + printk(KERN_WARNING "bad priority in dev_queue_xmit.\n"); pri = 1; } #endif --- ./net/core/net_alias.c.old Mon May 13 01:05:31 1996 +++ ./net/core/net_alias.c Mon May 13 01:40:56 1996 @@ -157,7 +157,7 @@ if (n_at < 0) { restore_flags(flags); - printk("net_alias: tried to set n_attach < 0 for (family==%d) nat object.\n", + printk(KERN_WARNING "net_alias: tried to set n_attach < 0 for (family==%d) nat object.\n", nat->type); return -1; } @@ -229,7 +229,7 @@ static int net_alias_hard_start_xmit(struct sk_buff *skb, struct device *dev) { - printk("net_alias: net_alias_hard_start_xmit() for %s called (ignored)!!\n", dev->name); + printk(KERN_WARNING "net_alias: net_alias_hard_start_xmit() for %s called (ignored)!!\n", dev->name); dev_kfree_skb(skb, FREE_WRITE); return 0; } @@ -363,7 +363,7 @@ nat = nat_getbytype(family); if (!nat) { #endif - printk("net_alias_dev_create(%s:%d): unregistered family==%d\n", + printk(KERN_WARNING "net_alias_dev_create(%s:%d): unregistered family==%d\n", main_dev->name, slot, family); /* *err = -EAFNOSUPPORT; */ *err = -EINVAL; @@ -509,7 +509,7 @@ { if (!(alias = prevdev->next->my_alias)) { - printk("ERROR: net_alias_dev_delete(): incorrect non-alias device after maindev\n"); + printk(KERN_ERR "ERROR: net_alias_dev_delete(): incorrect non-alias device after maindev\n"); continue; /* or should give up? */ } if (alias->slot == slot) break; @@ -534,10 +534,10 @@ if (*aliasp != alias) if ((aliasp = net_alias_slow_findp(alias_info, alias))) - printk("net_alias_dev_delete(%s): bad hashing recovered\n", alias->name); + printk(KERN_WARNING "net_alias_dev_delete(%s): bad hashing recovered\n", alias->name); else { - printk("ERROR: net_alias_dev_delete(%s): unhashed alias!\n",alias->name); + printk(KERN_ERR "ERROR: net_alias_dev_delete(%s): unhashed alias!\n",alias->name); return NULL; /* ENODEV */ } @@ -654,11 +654,11 @@ continue; } else - printk("net_alias_free(%s): '%s' is not my alias\n", + printk(KERN_ERR "net_alias_free(%s): '%s' is not my alias\n", main_dev->name, alias->name); } else - printk("net_alias_free(%s): found a non-alias after device!\n", + printk(KERN_ERR "net_alias_free(%s): found a non-alias after device!\n", main_dev->name); dev = dev->next; } @@ -760,7 +760,7 @@ if (!sa) { - printk("ERROR: net_alias_rehash(): NULL sockaddr passed\n"); + printk(KERN_ERR "ERROR: net_alias_rehash(): NULL sockaddr passed\n"); return -1; } @@ -770,7 +770,7 @@ if ( (main_dev = alias->main_dev) == NULL ) { - printk("ERROR: net_alias_rehash for %s: NULL maindev\n", alias->name); + printk(KERN_ERR "ERROR: net_alias_rehash for %s: NULL maindev\n", alias->name); return -1; } @@ -780,7 +780,7 @@ if (!(alias_info=main_dev->alias_info)) { - printk("ERROR: net_alias_rehash for %s: NULL alias_info\n", alias->name); + printk(KERN_ERR "ERROR: net_alias_rehash for %s: NULL alias_info\n", alias->name); return -1; } @@ -791,7 +791,7 @@ o_nat = alias->nat; if (!o_nat) { - printk("ERROR: net_alias_rehash(%s): unbound alias.\n", alias->name); + printk(KERN_ERR "ERROR: net_alias_rehash(%s): unbound alias.\n", alias->name); return -1; } @@ -806,7 +806,7 @@ n_nat = nat_getbytype(sa->sa_family); if (!n_nat) { - printk("ERROR: net_alias_rehash(%s): unreg family==%d.\n", alias->name, sa->sa_family); + printk(KERN_ERR "ERROR: net_alias_rehash(%s): unreg family==%d.\n", alias->name, sa->sa_family); return -1; } } @@ -832,10 +832,10 @@ if(!*aliasp) if ((aliasp = net_alias_slow_findp(alias_info, alias))) - printk("net_alias_rehash(%s): bad hashing recovered\n", alias->name); + printk(KERN_WARNING "net_alias_rehash(%s): bad hashing recovered\n", alias->name); else { - printk("ERROR: net_alias_rehash(%s): unhashed alias!\n", alias->name); + printk(KERN_ERR "ERROR: net_alias_rehash(%s): unhashed alias!\n", alias->name); return -1; } @@ -1309,7 +1309,7 @@ unsigned long flags; if (!nat) { - printk("register_net_alias_type(): NULL arg\n"); + printk(KERN_ERR "register_net_alias_type(): NULL arg\n"); return -EINVAL; } nat->type = type; @@ -1334,7 +1334,7 @@ if (!nat) { - printk("unregister_net_alias_type(): NULL arg\n"); + printk(KERN_ERR "unregister_net_alias_type(): NULL arg\n"); return -EINVAL; } @@ -1343,7 +1343,7 @@ */ if (nat->n_attach) { - printk("unregister_net_alias_type(): has %d attachments. failed\n", + printk(KERN_ERR "unregister_net_alias_type(): has %d attachments. failed\n", nat->n_attach); return -EINVAL; } @@ -1360,7 +1360,7 @@ } } restore_flags(flags); - printk("unregister_net_alias_type(type=%d): not found!\n", nat->type); + printk(KERN_ERR "unregister_net_alias_type(type=%d): not found!\n", nat->type); return -EINVAL; } --- ./net/ethernet/eth.c.old Mon May 13 01:07:41 1996 +++ ./net/ethernet/eth.c Mon May 13 01:07:49 1996 @@ -231,7 +231,7 @@ if (htype != ETH_P_IP) { - printk("eth_header_cache_bind: %04x cache is not implemented\n", htype); + printk(KERN_DEBUG "eth_header_cache_bind: %04x cache is not implemented\n", htype); return; } if (arp_bind_cache(hhp, dev, htype, daddr)) @@ -252,7 +252,7 @@ { if (hh->hh_type != ETH_P_IP) { - printk("eth_header_cache_update: %04x cache is not implemented\n", hh->hh_type); + printk(KERN_DEBUG "eth_header_cache_update: %04x cache is not implemented\n", hh->hh_type); return; } memcpy(hh->hh_data, haddr, ETH_ALEN); --- ./net/ipv4/arp.c.old Mon May 13 01:12:40 1996 +++ ./net/ipv4/arp.c Mon May 13 01:13:12 1996 @@ -1105,7 +1105,7 @@ if(!(entry->flags&ATF_COM)) { - printk("arp_send_q: incomplete entry for %s\n", + printk(KERN_ERR "arp_send_q: incomplete entry for %s\n", in_ntoa(entry->ip)); /* Can't flush the skb, because RFC1122 says to hang on to */ /* at least one from any unresolved entry. --MS */ @@ -1670,7 +1670,7 @@ + dev->hard_header_len, GFP_ATOMIC); if (skb == NULL) { - printk("ARP: no memory to send an arp packet\n"); + printk(KERN_DEBUG "ARP: no memory to send an arp packet\n"); return; } skb_reserve(skb, dev->hard_header_len); @@ -1798,7 +1798,7 @@ break; default: - printk("ARP: dev->type mangled!\n"); + printk(KERN_ERR "ARP: dev->type mangled!\n"); kfree_skb(skb, FREE_READ); return 0; } --- ./net/ipv4/igmp.c.old Mon May 13 01:13:38 1996 +++ ./net/ipv4/igmp.c Mon May 13 01:13:45 1996 @@ -203,7 +203,7 @@ im->tm_running=0; } else { - printk("igmp_stop_timer() called with timer not running by %p\n",__builtin_return_address(0)); + printk(KERN_ERR "igmp_stop_timer() called with timer not running by %p\n",__builtin_return_address(0)); } } @@ -459,7 +459,7 @@ if(saddr==0) { - printk("Broken multicast host using 0.0.0.0 heard on %s\n", + printk(KERN_INFO "Broken multicast host using 0.0.0.0 heard on %s\n", dev->name); kfree_skb(skb, FREE_READ); return 0; --- ./net/ipv4/ipip.c.old Sun May 12 23:09:47 1996 +++ ./net/ipv4/ipip.c Mon May 13 01:16:37 1996 @@ -113,7 +113,7 @@ void cleanup_module( void) { if ( inet_del_protocol(&ipip_protocol) < 0 ) - printk("ipip close: can't remove protocol\n"); + printk(KERN_INFO "ipip close: can't remove protocol\n"); } #endif --- ./net/ipv4/ip_alias.c.old Sun May 12 17:27:59 1996 +++ ./net/ipv4/ip_alias.c Mon May 13 01:14:09 1996 @@ -159,7 +159,7 @@ void cleanup_module(void) { if (ip_alias_done() != 0) - printk("ip_alias: can't remove module"); + printk(KERN_INFO "ip_alias: can't remove module"); } #endif /* MODULE */ --- ./net/ipv4/ip_forward.c.old Sun May 12 17:34:40 1996 +++ ./net/ipv4/ip_forward.c Mon May 13 01:14:49 1996 @@ -399,7 +399,7 @@ optptr[2] = srrptr+4; } else - printk("ip_forward(): Argh! Destination lost!\n"); + printk(KERN_CRIT "ip_forward(): Argh! Destination lost!\n"); } if (opt->ts_needaddr) { --- ./net/ipv4/ip_fragment.c.old Mon May 13 01:15:12 1996 +++ ./net/ipv4/ip_fragment.c Mon May 13 01:15:15 1996 @@ -707,7 +707,7 @@ skb2->arp = skb->arp; if(skb->free==0) - printk("IP fragmenter: BUG free!=1 in fragmenter\n"); + printk(KERN_ERR "IP fragmenter: BUG free!=1 in fragmenter\n"); skb2->free = 1; skb_put(skb2,len + hlen); skb2->h.raw=(char *) skb2->data; --- ./net/ipv4/ipmr.c.old Mon May 13 01:16:49 1996 +++ ./net/ipv4/ipmr.c Mon May 13 01:17:00 1996 @@ -908,7 +908,7 @@ void ip_mr_init(void) { - printk("Linux IP multicast router 0.05-maybe-works 8)\n"); + printk(KERN_INFO "Linux IP multicast router 0.05.\n"); register_netdevice_notifier(&ip_mr_notifier); proc_net_register(&(struct proc_dir_entry) { PROC_NET_IPMR_VIF, 9 ,"ip_mr_vif", --- ./net/ipv4/rarp.c.old Mon May 13 01:17:57 1996 +++ ./net/ipv4/rarp.c Mon May 13 01:18:01 1996 @@ -320,7 +320,7 @@ ip = si->sin_addr.s_addr; if (ip == 0) { - printk("RARP: SETRARP: requested PA is 0.0.0.0 !\n"); + printk(KERN_DEBUG "RARP: SETRARP: requested PA is 0.0.0.0 !\n"); return -EINVAL; } --- ./net/ipv4/tcp.c.old Sun May 12 17:34:41 1996 +++ ./net/ipv4/tcp.c Mon May 13 01:18:40 1996 @@ -985,7 +985,7 @@ copy = min(sk->mss - tcp_size, seglen); if (copy <= 0) { - printk("TCP: **bug**: \"copy\" <= 0\n"); + printk(KERN_CRIT "TCP: **bug**: \"copy\" <= 0\n"); return -EFAULT; } tcp_size += copy; @@ -1023,7 +1023,7 @@ copy = seglen; if (copy <= 0) { - printk("TCP: **bug**: copy=%d, sk->mss=%d\n", copy, sk->mss); + printk(KERN_CRIT "TCP: **bug**: copy=%d, sk->mss=%d\n", copy, sk->mss); return -EFAULT; } --- ./net/ipv4/tcp_input.c.old Mon May 13 01:18:57 1996 +++ ./net/ipv4/tcp_input.c Mon May 13 01:19:02 1996 @@ -1673,7 +1673,7 @@ if (!sk->prot) { - printk("IMPOSSIBLE 3\n"); + printk(KERN_CRIT "IMPOSSIBLE 3\n"); return(0); } --- ./net/ipv4/tcp_output.c.old Mon May 13 01:19:12 1996 +++ ./net/ipv4/tcp_output.c Mon May 13 01:19:36 1996 @@ -120,7 +120,7 @@ if (size < sizeof(struct tcphdr) || size > skb->len) { - printk("tcp_send_skb: bad skb (skb = %p, data = %p, th = %p, len = %lu)\n", + printk(KERN_ERR "tcp_send_skb: bad skb (skb = %p, data = %p, th = %p, len = %lu)\n", skb, skb->data, th, skb->len); kfree_skb(skb, FREE_WRITE); return; @@ -136,7 +136,7 @@ /* If it's got a syn or fin it's notionally included in the size..*/ if(!th->syn && !th->fin) { - printk("tcp_send_skb: attempt to queue a bogon.\n"); + printk(KERN_ERR "tcp_send_skb: attempt to queue a bogon.\n"); kfree_skb(skb,FREE_WRITE); return; } @@ -167,7 +167,7 @@ th->check = 0; if (skb->next != NULL) { - printk("tcp_send_partial: next != NULL\n"); + printk(KERN_ERR "tcp_send_partial: next != NULL\n"); skb_unlink(skb); } skb_queue_tail(&sk->write_queue, skb); @@ -648,7 +648,7 @@ if (buff == NULL) { /* This is a disaster if it occurs */ - printk("tcp_send_fin: Impossible malloc failure"); + printk(KERN_CRIT "tcp_send_fin: Impossible malloc failure"); return; } @@ -713,7 +713,7 @@ buff->free = 0; if (buff->next != NULL) { - printk("tcp_send_fin: next != NULL\n"); + printk(KERN_ERR "tcp_send_fin: next != NULL\n"); skb_unlink(buff); } skb_queue_tail(&sk->write_queue, buff); --- ./net/ipv4/tcp_timer.c.old Mon May 13 01:19:51 1996 +++ ./net/ipv4/tcp_timer.c Mon May 13 01:19:56 1996 @@ -38,7 +38,7 @@ if((long)when < 0) { when=3; - printk("Error: Negative timer in xmit_timer\n"); + printk(KERN_ERR "Error: Negative timer in xmit_timer\n"); } sk->retransmit_timer.expires=jiffies+when; add_timer(&sk->retransmit_timer); @@ -257,7 +257,7 @@ break; default: - printk ("rexmit_timer: timer expired - reason unknown\n"); + printk (KERN_ERR "rexmit_timer: timer expired - reason unknown\n"); break; } } --- ./net/ipx/af_ipx.c.old Mon May 13 01:08:08 1996 +++ ./net/ipx/af_ipx.c Mon May 13 01:08:37 1996 @@ -756,7 +756,7 @@ } else { - printk("IPX: Network number collision %lx\n\t%s %s and %s %s\n", + printk(KERN_WARNING "IPX: Network number collision %lx\n\t%s %s and %s %s\n", htonl(ipx->ipx_source.net), ipx_device_name(i), ipx_frame_name(i->if_dlink_type), @@ -2353,13 +2353,13 @@ dev_add_pack(&ipx_8023_packet_type); if ((p8022_datalink = register_8022_client(ipx_8022_type, ipx_rcv)) == NULL) - printk("IPX: Unable to register with 802.2\n"); + printk(KERN_CRIT "IPX: Unable to register with 802.2\n"); if ((p8022tr_datalink = register_8022tr_client(ipx_8022_type, ipx_rcv)) == NULL) - printk("IPX: Unable to register with 802.2TR\n"); + printk(KERN_CRIT "IPX: Unable to register with 802.2TR\n"); if ((pSNAP_datalink = register_snap_client(ipx_snap_id, ipx_rcv)) == NULL) - printk("IPX: Unable to register with SNAP\n"); + printk(KERN_CRIT "IPX: Unable to register with SNAP\n"); register_netdevice_notifier(&ipx_dev_notifier); @@ -2367,7 +2367,7 @@ proc_net_register(&ipx_if_procinfo); proc_net_register(&ipx_rt_procinfo); - printk(KERN_INFO "Swansea University Computer Society IPX 0.34 for NET3.034\n"); + printk(KERN_INFO "Swansea University Computer Society IPX 0.34 for NET3.035\n"); printk(KERN_INFO "IPX Portions Copyright (c) 1995 Caldera, Inc.\n"); } --- ./net/netrom/af_netrom.c.old Mon May 13 01:09:08 1996 +++ ./net/netrom/af_netrom.c Mon May 13 01:10:17 1996 @@ -347,7 +347,7 @@ if (nr_ctl.arg < 16 || nr_ctl.arg > 65535) return -EINVAL; if (nr_ctl.arg > 236) /* we probably want this */ - printk("nr_ctl_ioctl: Warning --- huge paclen %d\n", (int)nr_ctl.arg); + printk(KERN_WARNING "nr_ctl_ioctl: Warning --- huge paclen %d\n", (int)nr_ctl.arg); sk->nr->paclen = nr_ctl.arg; break; @@ -1406,7 +1406,7 @@ { sock_register(nr_proto_ops.family, &nr_proto_ops); register_netdevice_notifier(&nr_dev_notifier); - printk("G4KLX NET/ROM for Linux. Version 0.4 ALPHA for AX25.032 Linux 1.3.77\n"); + printk(KERN_INFO "G4KLX NET/ROM for Linux. Version 0.5 for AX25.032 Linux 2.0\n"); nr_default.quality = NR_DEFAULT_QUAL; nr_default.obs_count = NR_DEFAULT_OBS; --- ./net/netrom/nr_dev.c.old Mon May 13 01:10:36 1996 +++ ./net/netrom/nr_dev.c Mon May 13 01:10:40 1996 @@ -181,7 +181,7 @@ return 0; if (!dev->start) { - printk("netrom: xmit call when iface is down\n"); + printk(KERN_ERR "netrom: xmit call when iface is down\n"); return 1; } --- ./net/netrom/nr_in.c.old Mon May 13 01:10:54 1996 +++ ./net/netrom/nr_in.c Mon May 13 01:11:01 1996 @@ -316,7 +316,7 @@ if (sk->nr->state != NR_STATE_1 && sk->nr->state != NR_STATE_2 && sk->nr->state != NR_STATE_3) { - printk("nr_process_rx_frame: frame received - state: %d\n", sk->nr->state); + printk(KERN_ERR "nr_process_rx_frame: frame received - state: %d\n", sk->nr->state); return queued; } --- ./net/netrom/nr_subr.c.old Mon May 13 01:11:16 1996 +++ ./net/netrom/nr_subr.c Mon May 13 01:11:23 1996 @@ -168,7 +168,7 @@ case NR_INFOACK: break; default: - printk("nr_write_internal: invalid frame type %d\n", frametype); + printk(KERN_ERR "nr_write_internal: invalid frame type %d\n", frametype); return; } --- ./net/bridge/br.c.old Mon May 13 00:59:06 1996 +++ ./net/bridge/br.c Mon May 13 01:02:10 1996 @@ -579,6 +579,7 @@ { /* (4.8.1) */ int port_no; + printk(KERN_INFO "Ethernet Bridge 002 for NET3.035 (Linux 2.0)\n"); bridge_info.designated_root = bridge_info.bridge_id; /* (4.8.1.1) */ bridge_info.root_path_cost = Zero; bridge_info.root_port = No_port; @@ -876,7 +877,7 @@ unsigned long flags; if (port_info[port_no].state == Disabled) { - printk("send_config_bpdu: port %i not valid\n",port_no); + printk(KERN_DEBUG "send_config_bpdu: port %i not valid\n",port_no); return(-1); } if (br_stats.flags & BR_DEBUG) @@ -887,7 +888,7 @@ size = sizeof(Config_bpdu) + dev->hard_header_len; skb = alloc_skb(size, GFP_ATOMIC); if (skb == NULL) { - printk("send_config_bpdu: no skb available\n"); + printk(KERN_DEBUG "send_config_bpdu: no skb available\n"); return(-1); } skb->dev = dev; @@ -935,7 +936,7 @@ unsigned long flags; if (port_info[port_no].state == Disabled) { - printk("send_tcn_bpdu: port %i not valid\n",port_no); + printk(KERN_DEBUG "send_tcn_bpdu: port %i not valid\n",port_no); return(-1); } if (br_stats.flags & BR_DEBUG) @@ -943,7 +944,7 @@ size = sizeof(Tcn_bpdu) + dev->hard_header_len; skb = alloc_skb(size, GFP_ATOMIC); if (skb == NULL) { - printk("send_tcn_bpdu: no skb available\n"); + printk(KERN_DEBUG "send_tcn_bpdu: no skb available\n"); return(-1); } skb->dev = dev; @@ -1033,9 +1034,11 @@ } } break; +#if 0 default: printk("br_device_event: unknown event [%x]\n", (unsigned int)event); +#endif } return NOTIFY_DONE; } @@ -1054,7 +1057,7 @@ printk("br_receive_frame: "); /* sanity */ if (!skb) { - printk("no skb!\n"); + printk(KERN_CRIT "br_receive_frame: no skb!\n"); return(1); } @@ -1134,7 +1137,7 @@ skb_device_lock(skb); return(br_forward(skb, port)); default: - printk("br_receive_frame: port [%i] unknown state [%i]\n", + printk(KERN_DEBUG "br_receive_frame: port [%i] unknown state [%i]\n", port, port_info[port].state); return(0); /* pass frame up stack? */ } @@ -1153,7 +1156,7 @@ /* sanity */ if (!skb) { - printk("br_tx_frame: no skb!\n"); + printk(KERN_CRIT "br_tx_frame: no skb!\n"); return(0); } /* check for loopback */ @@ -1208,7 +1211,7 @@ GFP_ATOMIC); if (!f) { - printk("br_learn: unable to malloc fdb\n"); + printk(KERN_DEBUG "br_learn: unable to malloc fdb\n"); return(-1); } f->port = port; /* source port */ @@ -1409,7 +1412,7 @@ received_tcn_bpdu(port, bpdu); break; default: - printk("br_bpdu: received unknown bpdu, type = %i\n", + printk(KERN_DEBUG "br_bpdu: received unknown bpdu, type = %i\n", bpdu->type); /* break; */ } @@ -1444,14 +1447,14 @@ case BRCMD_BRIDGE_ENABLE: if (br_stats.flags & BR_UP) return(-EALREADY); - printk("br: enabling bridging function\n"); + printk(KERN_DEBUG "br: enabling bridging function\n"); br_stats.flags |= BR_UP; /* enable bridge */ start_hello_timer(); break; case BRCMD_BRIDGE_DISABLE: if (!(br_stats.flags & BR_UP)) return(-EALREADY); - printk("br: disabling bridging function\n"); + printk(KERN_DEBUG "br: disabling bridging function\n"); br_stats.flags &= ~BR_UP; /* disable bridge */ stop_hello_timer(); #if 0 @@ -1465,7 +1468,7 @@ return(-EINVAL); if (port_info[bcf.arg1].state != Disabled) return(-EALREADY); - printk("br: enabling port %i\n",bcf.arg1); + printk(KERN_DEBUG "br: enabling port %i\n",bcf.arg1); enable_port(bcf.arg1); break; case BRCMD_PORT_DISABLE: @@ -1473,7 +1476,7 @@ return(-EINVAL); if (port_info[bcf.arg1].state == Disabled) return(-EALREADY); - printk("br: disabling port %i\n",bcf.arg1); + printk(KERN_DEBUG "br: disabling port %i\n",bcf.arg1); disable_port(bcf.arg1); break; case BRCMD_SET_BRIDGE_PRIORITY: --- ./net/bridge/br_tree.c.old Mon May 13 01:02:17 1996 +++ ./net/bridge/br_tree.c Mon May 13 01:02:47 1996 @@ -263,7 +263,7 @@ struct fdb * node = *nodeplace; if (node == avl_br_empty) { /* what? node_to_delete not found in tree? */ - printk("avl_remove: node to delete not found in tree\n"); + printk(KERN_ERR "br: avl_remove: node to delete not found in tree\n"); return(-1); } *stack_ptr++ = nodeplace; stack_count++; --- ./net/netlink.c.old Mon May 13 00:52:15 1996 +++ ./net/netlink.c Mon May 13 00:52:31 1996 @@ -218,7 +218,7 @@ int ct; if(register_chrdev(NETLINK_MAJOR,"netlink", &netlink_fops)) { - printk("netlink: unable to get major %d\n", NETLINK_MAJOR); + printk(KERN_ERR "netlink: unable to get major %d\n", NETLINK_MAJOR); return -EIO; } for(ct=0;ct<MAX_LINKS;ct++) @@ -233,7 +233,7 @@ int init_module(void) { - printk("Network Kernel/User communications module 0.03\n"); + printk(KERN_INFO "Network Kernel/User communications module 0.03\n"); return init_netlink(); } --- ./net/socket.c.old Mon May 13 00:52:40 1996 +++ ./net/socket.c Mon May 13 00:53:28 1996 @@ -577,7 +577,7 @@ if (!(sock = sock_alloc())) { - printk("NET: sys_socket: no more sockets\n"); + printk(KERN_WARNING "socket: no more sockets\n"); return(-ENOSR); /* Was: EAGAIN, but we are out of system resources! */ } @@ -754,7 +754,7 @@ if (!(newsock = sock_alloc())) { - printk("NET: sock_accept: no more sockets\n"); + printk(KERN_WARNING "accept: no more sockets\n"); return(-ENOSR); /* Was: EAGAIN, but we are out of system resources! */ } @@ -1397,7 +1397,7 @@ { int i; - printk("Swansea University Computer Society NET3.034 for Linux 1.3.77\n"); + printk(KERN_INFO "Swansea University Computer Society NET3.035 for Linux 2.0\n"); /* * Initialize all address (protocol) families. --- ./Documentation/Configure.help.old Mon May 13 00:34:31 1996 +++ ./Documentation/Configure.help Mon May 13 00:36:43 1996 @@ -2563,6 +2563,14 @@ use it. Probably this is only useful for multi user systems. If unsure, say N. +Mandatory lock support +CONFIG_LOCK_MANDATORY + Mandatory locking is used by some System 5 style database applications. + To use this option safely you must have newer NFS daemons, new samba, + new netatalk, new mars-nwe and other file servers. At the time of + writing none of these are available. Unless you need this feature say + N. + Standard (minix) fs support CONFIG_MINIX_FS Minix is a simple operating system used in many classes about
|  |