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 ---