ialloc.c (c203e45f069af47ca7623e4dcd8c00bfba2722e4) | ialloc.c (91ef4caf800030fa6e5224b8a41f8c74787b303d) |
---|---|
1/* 2 * linux/fs/ext4/ialloc.c 3 * 4 * Copyright (C) 1992, 1993, 1994, 1995 5 * Remy Card (card@masi.ibp.fr) 6 * Laboratoire MASI - Institut Blaise Pascal 7 * Universite Pierre et Marie Curie (Paris VI) 8 * --- 803 unchanged lines hidden (view full) --- 812 */ 813 if (!ext4_test_bit(bit, bitmap_bh->b_data)) 814 goto bad_orphan; 815 816 inode = ext4_iget(sb, ino); 817 if (IS_ERR(inode)) 818 goto iget_failed; 819 | 1/* 2 * linux/fs/ext4/ialloc.c 3 * 4 * Copyright (C) 1992, 1993, 1994, 1995 5 * Remy Card (card@masi.ibp.fr) 6 * Laboratoire MASI - Institut Blaise Pascal 7 * Universite Pierre et Marie Curie (Paris VI) 8 * --- 803 unchanged lines hidden (view full) --- 812 */ 813 if (!ext4_test_bit(bit, bitmap_bh->b_data)) 814 goto bad_orphan; 815 816 inode = ext4_iget(sb, ino); 817 if (IS_ERR(inode)) 818 goto iget_failed; 819 |
820 /* 821 * If the orphans has i_nlinks > 0 then it should be able to be 822 * truncated, otherwise it won't be removed from the orphan list 823 * during processing and an infinite loop will result. 824 */ 825 if (inode->i_nlink && !ext4_can_truncate(inode)) 826 goto bad_orphan; 827 |
|
820 if (NEXT_ORPHAN(inode) > max_ino) 821 goto bad_orphan; 822 brelse(bitmap_bh); 823 return inode; 824 825iget_failed: 826 err = PTR_ERR(inode); 827 inode = NULL; --- 5 unchanged lines hidden (view full) --- 833 ext4_test_bit(bit, bitmap_bh->b_data)); 834 printk(KERN_NOTICE "inode=%p\n", inode); 835 if (inode) { 836 printk(KERN_NOTICE "is_bad_inode(inode)=%d\n", 837 is_bad_inode(inode)); 838 printk(KERN_NOTICE "NEXT_ORPHAN(inode)=%u\n", 839 NEXT_ORPHAN(inode)); 840 printk(KERN_NOTICE "max_ino=%lu\n", max_ino); | 828 if (NEXT_ORPHAN(inode) > max_ino) 829 goto bad_orphan; 830 brelse(bitmap_bh); 831 return inode; 832 833iget_failed: 834 err = PTR_ERR(inode); 835 inode = NULL; --- 5 unchanged lines hidden (view full) --- 841 ext4_test_bit(bit, bitmap_bh->b_data)); 842 printk(KERN_NOTICE "inode=%p\n", inode); 843 if (inode) { 844 printk(KERN_NOTICE "is_bad_inode(inode)=%d\n", 845 is_bad_inode(inode)); 846 printk(KERN_NOTICE "NEXT_ORPHAN(inode)=%u\n", 847 NEXT_ORPHAN(inode)); 848 printk(KERN_NOTICE "max_ino=%lu\n", max_ino); |
849 printk(KERN_NOTICE "i_nlink=%u\n", inode->i_nlink); |
|
841 /* Avoid freeing blocks if we got a bad deleted inode */ 842 if (inode->i_nlink == 0) 843 inode->i_blocks = 0; 844 iput(inode); 845 } 846 brelse(bitmap_bh); 847error: 848 return ERR_PTR(err); --- 63 unchanged lines hidden --- | 850 /* Avoid freeing blocks if we got a bad deleted inode */ 851 if (inode->i_nlink == 0) 852 inode->i_blocks = 0; 853 iput(inode); 854 } 855 brelse(bitmap_bh); 856error: 857 return ERR_PTR(err); --- 63 unchanged lines hidden --- |