home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.linux
- Path: sparky!uunet!wupost!sdd.hp.com!caen!destroyer!gumby!yale!mintaka.lcs.mit.edu!bloom-picayune.mit.edu!daemon
- From: card@masi.ibp.fr (Remy CARD)
- Subject: Patch for ext fs
- Message-ID: <1992Jul21.162415.5572@athena.mit.edu>
- Sender: daemon@athena.mit.edu (Mr Background)
- Reply-To: card@masi.ibp.fr (Remy CARD)
- Organization: The Internet
- Date: Tue, 21 Jul 1992 16:24:15 GMT
- Lines: 60
-
-
-
- Hi,
-
- Enclosed is a patch for the ext file system needed to correct
- two bugs :
- 1/ reported by Paul Douglas Page in comp.os.linux : ext fs
- caused a kernel panic when running out of inodes,
- 2/ reported by Eric Youngdale in the mailing list : rename
- sometimes caused files to disappear under certains
- circumstances.
-
- The patch is very little, so I send it in ascii form. It
- should be applied to linux 0.96c-2 in the directory where the
- ext fs code resides (normally /usr/src/linux/fs/ext).
-
- Remy.
-
- -------------------------Cut Here ---------------------------
- *** ../../../../linux-0.96c-2/linux/fs/ext/freelists.c Mon Jul 20 13:26:51 1992
- --- freelists.c Tue Jul 21 18:47:40 1992
- ***************
- *** 267,273 ****
- printk("ext_free_inode: inode empty, skipping to %d\n", efi->next);
- #endif
- j = (unsigned long) inode->i_sb->s_imap[0];
- ! if (efi->next < 1 || efi->next > inode->i_sb->s_ninodes) {
- printk ("efi->next = %d\n", efi->next);
- panic ("ext_new_inode: bad inode number in free list\n");
- }
- --- 267,273 ----
- printk("ext_free_inode: inode empty, skipping to %d\n", efi->next);
- #endif
- j = (unsigned long) inode->i_sb->s_imap[0];
- ! if (efi->next > inode->i_sb->s_ninodes) {
- printk ("efi->next = %d\n", efi->next);
- panic ("ext_new_inode: bad inode number in free list\n");
- }
- *** ../../../../linux-0.96c-2/linux/fs/ext/namei.c Mon Jul 20 13:27:56 1992
- --- namei.c Tue Jul 21 18:47:40 1992
- ***************
- *** 845,852 ****
- /* ok, that's it */
- old_de->inode = 0;
- old_de->name_len = 0;
- - ext_merge_entries (old_de, pde, nde);
- new_de->inode = old_inode->i_ino;
- if (new_inode) {
- new_inode->i_nlink--;
- new_inode->i_dirt = 1;
- --- 845,852 ----
- /* ok, that's it */
- old_de->inode = 0;
- old_de->name_len = 0;
- new_de->inode = old_inode->i_ino;
- + ext_merge_entries (old_de, pde, nde);
- if (new_inode) {
- new_inode->i_nlink--;
- new_inode->i_dirt = 1;
- -------------------------Cut Here ---------------------------
-