]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/isofs/inode.c
missing include in ssb
[linux-2.6-omap-h63xx.git] / fs / isofs / inode.c
index 4f5418be0590ed6d484fd628a31fc65c9c7bea71..043b470fd3b67f42c325dbb90997730b2a38c84d 100644 (file)
@@ -86,7 +86,7 @@ static int init_inodecache(void)
                                        sizeof(struct iso_inode_info),
                                        0, (SLAB_RECLAIM_ACCOUNT|
                                        SLAB_MEM_SPREAD),
-                                       init_once, NULL);
+                                       init_once);
        if (isofs_inode_cachep == NULL)
                return -ENOMEM;
        return 0;
@@ -846,6 +846,15 @@ root_found:
                goto out_no_root;
        if (!inode->i_op)
                goto out_bad_root;
+
+       /* Make sure the root inode is a directory */
+       if (!S_ISDIR(inode->i_mode)) {
+               printk(KERN_WARNING
+                       "isofs_fill_super: root inode is not a directory. "
+                       "Corrupted media?\n");
+               goto out_iput;
+       }
+
        /* get the root dentry */
        s->s_root = d_alloc_root(inode);
        if (!(s->s_root))