home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / os / linux / 6308 < prev    next >
Encoding:
Text File  |  1992-07-21  |  2.4 KB  |  72 lines

  1. Newsgroups: comp.os.linux
  2. Path: sparky!uunet!wupost!sdd.hp.com!caen!destroyer!gumby!yale!mintaka.lcs.mit.edu!bloom-picayune.mit.edu!daemon
  3. From: card@masi.ibp.fr (Remy CARD)
  4. Subject: Patch for ext fs
  5. Message-ID: <1992Jul21.162415.5572@athena.mit.edu>
  6. Sender: daemon@athena.mit.edu (Mr Background)
  7. Reply-To: card@masi.ibp.fr (Remy CARD)
  8. Organization: The Internet
  9. Date: Tue, 21 Jul 1992 16:24:15 GMT
  10. Lines: 60
  11.  
  12.  
  13.  
  14.     Hi,
  15.  
  16.     Enclosed is a patch for the ext file system needed to correct
  17. two bugs :
  18.     1/ reported by Paul Douglas Page in comp.os.linux : ext fs
  19.        caused a kernel panic when running out of inodes,
  20.     2/ reported by Eric Youngdale in the mailing list : rename
  21.        sometimes caused files to disappear under certains
  22.        circumstances.
  23.  
  24.     The patch is very little, so I send it in ascii form. It
  25. should be applied to linux 0.96c-2 in the directory where the
  26. ext fs code resides (normally /usr/src/linux/fs/ext).
  27.  
  28.     Remy.
  29.  
  30. -------------------------Cut Here ---------------------------
  31. *** ../../../../linux-0.96c-2/linux/fs/ext/freelists.c    Mon Jul 20 13:26:51 1992
  32. --- freelists.c    Tue Jul 21 18:47:40 1992
  33. ***************
  34. *** 267,273 ****
  35.   printk("ext_free_inode: inode empty, skipping to %d\n", efi->next);
  36.   #endif
  37.           j = (unsigned long) inode->i_sb->s_imap[0];
  38. !         if (efi->next < 1 || efi->next > inode->i_sb->s_ninodes) {
  39.               printk ("efi->next = %d\n", efi->next);
  40.               panic ("ext_new_inode: bad inode number in free list\n");
  41.           }
  42. --- 267,273 ----
  43.   printk("ext_free_inode: inode empty, skipping to %d\n", efi->next);
  44.   #endif
  45.           j = (unsigned long) inode->i_sb->s_imap[0];
  46. !         if (efi->next > inode->i_sb->s_ninodes) {
  47.               printk ("efi->next = %d\n", efi->next);
  48.               panic ("ext_new_inode: bad inode number in free list\n");
  49.           }
  50. *** ../../../../linux-0.96c-2/linux/fs/ext/namei.c    Mon Jul 20 13:27:56 1992
  51. --- namei.c    Tue Jul 21 18:47:40 1992
  52. ***************
  53. *** 845,852 ****
  54.   /* ok, that's it */
  55.       old_de->inode = 0;
  56.       old_de->name_len = 0;
  57. -     ext_merge_entries (old_de, pde, nde);
  58.       new_de->inode = old_inode->i_ino;
  59.       if (new_inode) {
  60.           new_inode->i_nlink--;
  61.           new_inode->i_dirt = 1;
  62. --- 845,852 ----
  63.   /* ok, that's it */
  64.       old_de->inode = 0;
  65.       old_de->name_len = 0;
  66.       new_de->inode = old_inode->i_ino;
  67. +     ext_merge_entries (old_de, pde, nde);
  68.       if (new_inode) {
  69.           new_inode->i_nlink--;
  70.           new_inode->i_dirt = 1;
  71. -------------------------Cut Here ---------------------------
  72.