Re: OOPS kernel2.5.17 in vatfs? !SOLVED!

Rene Blokland (reneb@orac.aais.org)
Wed, 22 May 2002 15:00:56 +0200


Hi OGAWA Hirofumi san
This solves the oops pervect please sent it to Linus san
Thank you for ypour help!

In article <87vg9ha6lc.fsf@devron.myhome.or.jp>, OGAWA Hirofumi wrote:
>
> --- linux-cvs/fs/vfat/namei.c.orig Tue May 21 21:59:42 2002
> +++ linux-cvs/fs/vfat/namei.c Tue May 21 21:58:25 2002
> @@ -1020,16 +1020,12 @@
> unlock_kernel();
> dentry->d_op = &vfat_dentry_ops[table];
> dentry->d_time = dentry->d_parent->d_inode->i_version;
> - if (inode) {
> - dentry = d_splice_alias(inode, dentry);
> - if (dentry) {
> - dentry->d_op = &vfat_dentry_ops[table];
> - dentry->d_time = dentry->d_parent->d_inode->i_version;
> - }
> - return dentry;
> + dentry = d_splice_alias(inode, dentry);
> + if (dentry) {
> + dentry->d_op = &vfat_dentry_ops[table];
> + dentry->d_time = dentry->d_parent->d_inode->i_version;
> }
> - d_add(dentry,inode);
> - return NULL;
> + return dentry;
> }
>
> int vfat_create(struct inode *dir,struct dentry* dentry,int mode)
> --- linux-cvs/fs/msdos/namei.c.orig Tue May 21 22:02:08 2002
> +++ linux-cvs/fs/msdos/namei.c Tue May 21 22:01:46 2002
> @@ -221,22 +221,17 @@
> if (res)
> goto out;
> add:
> - if (inode) {
> - dentry = d_splice_alias(inode, dentry);
> - dentry->d_op = &msdos_dentry_operations;
> - } else {
> - d_add(dentry, inode);
> - dentry = NULL;
> - }
> res = 0;
> + dentry = d_splice_alias(inode, dentry);
> + if (dentry)
> + dentry->d_op = &msdos_dentry_operations;
> out:
> if (bh)
> fat_brelse(sb, bh);
> unlock_kernel();
> - if (res)
> - return ERR_PTR(res);
> - else
> + if (!res)
> return dentry;
> + return ERR_PTR(res);
> }
>
> /***** Creates a directory entry (name is already formatted). */
>

--
Groeten / Regards, Rene J. Blokland

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/