diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 23:59:43 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 23:59:43 -0800 | 
| commit | ba6edf537004b1c68a0736c95ebe39a30a2537fb (patch) | |
| tree | b4a2cd81ca09ab6cd8e442458d6da722422ad952 /fs/minix/inode.c | |
| parent | d0415686774477153ca911a612f74c2d2bb11be6 (diff) | |
v2.5.1.4 -> v2.5.1.5
- Dave Jones: more merging, fix up last merge..
- release to sync with Dave
Diffstat (limited to 'fs/minix/inode.c')
| -rw-r--r-- | fs/minix/inode.c | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/fs/minix/inode.c b/fs/minix/inode.c index b55585988875..42fd4f97ceb2 100644 --- a/fs/minix/inode.c +++ b/fs/minix/inode.c @@ -208,7 +208,7 @@ static struct super_block *minix_read_super(struct super_block *s, void *data,  	/* set up enough so that it can read an inode */  	s->s_op = &minix_sops;  	root_inode = iget(s, MINIX_ROOT_INO); -	if (!root_inode) +	if (!root_inode || is_bad_inode(root_inode))  		goto out_no_root;  	s->s_root = d_alloc_root(root_inode); @@ -347,8 +347,10 @@ static void V1_minix_read_inode(struct inode * inode)  	int i;  	raw_inode = minix_V1_raw_inode(inode->i_sb, inode->i_ino, &bh); -	if (!raw_inode) +	if (!raw_inode) { +		make_bad_inode(inode);  		return; +	}  	inode->i_mode = raw_inode->i_mode;  	inode->i_uid = (uid_t)raw_inode->i_uid;  	inode->i_gid = (gid_t)raw_inode->i_gid; @@ -372,8 +374,10 @@ static void V2_minix_read_inode(struct inode * inode)  	int i;  	raw_inode = minix_V2_raw_inode(inode->i_sb, inode->i_ino, &bh); -	if (!raw_inode) +	if (!raw_inode) { +		make_bad_inode(inode);  		return; +	}  	inode->i_mode = raw_inode->i_mode;  	inode->i_uid = (uid_t)raw_inode->i_uid;  	inode->i_gid = (gid_t)raw_inode->i_gid; | 
