patch-2.1.127 linux/fs/umsdos/dir.c
Next file: linux/fs/umsdos/inode.c
Previous file: linux/fs/umsdos/check.c
Back to the patch index
Back to the overall index
- Lines: 52
- Date:
Thu Nov 5 15:29:43 1998
- Orig file:
v2.1.126/linux/fs/umsdos/dir.c
- Orig date:
Mon Sep 28 10:51:35 1998
diff -u --recursive --new-file v2.1.126/linux/fs/umsdos/dir.c linux/fs/umsdos/dir.c
@@ -44,7 +44,7 @@
}
}
-static struct dentry_operations umsdos_dentry_operations =
+struct dentry_operations umsdos_dentry_operations =
{
umsdos_dentry_validate, /* d_validate(struct dentry *) */
NULL, /* d_hash */
@@ -123,7 +123,6 @@
if (filp->f_pos == UMSDOS_SPECIAL_DIRFPOS &&
dir == pseudo_root && !internal_read) {
-Printk (("umsdos_readdir_x: what UMSDOS_SPECIAL_DIRFPOS /mn/?\n"));
/*
* We don't need to simulate this pseudo directory
* when umsdos_readdir_x is called for internal operation
@@ -134,6 +133,8 @@
* linux root), it simulate a directory /DOS which points to
* the real root of the file system.
*/
+
+ Printk ((KERN_WARNING "umsdos_readdir_x: pseudo_root thing UMSDOS_SPECIAL_DIRFPOS\n"));
if (filldir (dirbuf, "DOS", 3,
UMSDOS_SPECIAL_DIRFPOS, UMSDOS_ROOT_INO) == 0) {
filp->f_pos++;
@@ -477,6 +478,7 @@
* A lookup of DOS in the pseudo root will always succeed
* and return the inode of the real root.
*/
+ Printk ((KERN_DEBUG "umsdos_lookup_x: following /DOS\n"));
inode = saved_root->d_inode;
goto out_add;
}
@@ -542,7 +544,7 @@
* which are recorded independently of the pseudo-root
* mode.
*/
-printk(KERN_WARNING "umsdos_lookup_x: untested, inode == Pseudo_root\n");
+printk("umsdos_lookup_x: skipping DOS/linux\n");
ret = -ENOENT;
goto out_dput;
}
@@ -557,7 +559,7 @@
ret = 0;
out_dput:
- if (dret != dentry)
+ if (dret && dret != dentry)
d_drop(dret);
dput(dret);
out:
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov