aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ncpfs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ncpfs')
-rw-r--r--fs/ncpfs/dir.c10
-rw-r--r--fs/ncpfs/inode.c4
-rw-r--r--fs/ncpfs/ioctl.c4
-rw-r--r--fs/ncpfs/mmap.c2
4 files changed, 8 insertions, 12 deletions
diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c
index 4117e7b377bb..816326093656 100644
--- a/fs/ncpfs/dir.c
+++ b/fs/ncpfs/dir.c
@@ -593,14 +593,10 @@ ncp_fill_cache(struct file *filp, void *dirent, filldir_t filldir,
593 return 1; /* I'm not sure */ 593 return 1; /* I'm not sure */
594 594
595 qname.name = __name; 595 qname.name = __name;
596 qname.hash = full_name_hash(qname.name, qname.len);
597
598 if (dentry->d_op && dentry->d_op->d_hash)
599 if (dentry->d_op->d_hash(dentry, dentry->d_inode, &qname) != 0)
600 goto end_advance;
601
602 newdent = d_lookup(dentry, &qname);
603 596
597 newdent = d_hash_and_lookup(dentry, &qname);
598 if (unlikely(IS_ERR(newdent)))
599 goto end_advance;
604 if (!newdent) { 600 if (!newdent) {
605 newdent = d_alloc(dentry, &qname); 601 newdent = d_alloc(dentry, &qname);
606 if (!newdent) 602 if (!newdent)
diff --git a/fs/ncpfs/inode.c b/fs/ncpfs/inode.c
index e2be336d1c22..7dafd6899a62 100644
--- a/fs/ncpfs/inode.c
+++ b/fs/ncpfs/inode.c
@@ -538,7 +538,7 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent)
538 if (!ncp_filp) 538 if (!ncp_filp)
539 goto out; 539 goto out;
540 error = -ENOTSOCK; 540 error = -ENOTSOCK;
541 sock_inode = ncp_filp->f_path.dentry->d_inode; 541 sock_inode = file_inode(ncp_filp);
542 if (!S_ISSOCK(sock_inode->i_mode)) 542 if (!S_ISSOCK(sock_inode->i_mode))
543 goto out_fput; 543 goto out_fput;
544 sock = SOCKET_I(sock_inode); 544 sock = SOCKET_I(sock_inode);
@@ -577,7 +577,7 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent)
577 if (!server->info_filp) 577 if (!server->info_filp)
578 goto out_bdi; 578 goto out_bdi;
579 error = -ENOTSOCK; 579 error = -ENOTSOCK;
580 sock_inode = server->info_filp->f_path.dentry->d_inode; 580 sock_inode = file_inode(server->info_filp);
581 if (!S_ISSOCK(sock_inode->i_mode)) 581 if (!S_ISSOCK(sock_inode->i_mode))
582 goto out_fput2; 582 goto out_fput2;
583 info_sock = SOCKET_I(sock_inode); 583 info_sock = SOCKET_I(sock_inode);
diff --git a/fs/ncpfs/ioctl.c b/fs/ncpfs/ioctl.c
index d44318d27504..60426ccb3b65 100644
--- a/fs/ncpfs/ioctl.c
+++ b/fs/ncpfs/ioctl.c
@@ -811,7 +811,7 @@ outrel:
811 811
812long ncp_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) 812long ncp_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
813{ 813{
814 struct inode *inode = filp->f_dentry->d_inode; 814 struct inode *inode = file_inode(filp);
815 struct ncp_server *server = NCP_SERVER(inode); 815 struct ncp_server *server = NCP_SERVER(inode);
816 kuid_t uid = current_uid(); 816 kuid_t uid = current_uid();
817 int need_drop_write = 0; 817 int need_drop_write = 0;
@@ -822,7 +822,7 @@ long ncp_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
822 case NCP_IOC_CONN_LOGGED_IN: 822 case NCP_IOC_CONN_LOGGED_IN:
823 case NCP_IOC_SETROOT: 823 case NCP_IOC_SETROOT:
824 if (!capable(CAP_SYS_ADMIN)) { 824 if (!capable(CAP_SYS_ADMIN)) {
825 ret = -EACCES; 825 ret = -EPERM;
826 goto out; 826 goto out;
827 } 827 }
828 break; 828 break;
diff --git a/fs/ncpfs/mmap.c b/fs/ncpfs/mmap.c
index 63d14a99483d..ee24df5af1f9 100644
--- a/fs/ncpfs/mmap.c
+++ b/fs/ncpfs/mmap.c
@@ -105,7 +105,7 @@ static const struct vm_operations_struct ncp_file_mmap =
105/* This is used for a general mmap of a ncp file */ 105/* This is used for a general mmap of a ncp file */
106int ncp_mmap(struct file *file, struct vm_area_struct *vma) 106int ncp_mmap(struct file *file, struct vm_area_struct *vma)
107{ 107{
108 struct inode *inode = file->f_path.dentry->d_inode; 108 struct inode *inode = file_inode(file);
109 109
110 DPRINTK("ncp_mmap: called\n"); 110 DPRINTK("ncp_mmap: called\n");
111 111