]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/freevxfs/vxfs_lookup.c
[PATCH] sched: improve migration accuracy
[linux-2.6-omap-h63xx.git] / fs / freevxfs / vxfs_lookup.c
index 554eb455722cbb3812837d3bc1b7b64290ebcc30..3995d7fbedab6b18be5a48d04c1f3edd446527f3 100644 (file)
@@ -56,7 +56,7 @@ struct inode_operations vxfs_dir_inode_ops = {
        .lookup =               vxfs_lookup,
 };
 
-struct file_operations vxfs_dir_operations = {
+const struct file_operations vxfs_dir_operations = {
        .readdir =              vxfs_readdir,
 };
 
@@ -240,12 +240,14 @@ vxfs_lookup(struct inode *dip, struct dentry *dp, struct nameidata *nd)
 static int
 vxfs_readdir(struct file *fp, void *retp, filldir_t filler)
 {
-       struct inode            *ip = fp->f_dentry->d_inode;
+       struct inode            *ip = fp->f_path.dentry->d_inode;
        struct super_block      *sbp = ip->i_sb;
        u_long                  bsize = sbp->s_blocksize;
        u_long                  page, npages, block, pblocks, nblocks, offset;
        loff_t                  pos;
 
+       lock_kernel();
+
        switch ((long)fp->f_pos) {
        case 0:
                if (filler(retp, ".", 1, fp->f_pos, ip->i_ino, DT_DIR) < 0)