diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/mtdchar.c | 2 | ||||
-rw-r--r-- | drivers/staging/pohmelfs/net.c | 2 | ||||
-rw-r--r-- | drivers/staging/smbfs/dir.c | 13 | ||||
-rw-r--r-- | drivers/staging/smbfs/inode.c | 4 | ||||
-rw-r--r-- | drivers/staging/smbfs/proto.h | 2 |
5 files changed, 8 insertions, 15 deletions
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c index f511dd15fd31..ee4bb3330bdf 100644 --- a/drivers/mtd/mtdchar.c +++ b/drivers/mtd/mtdchar.c | |||
@@ -1134,7 +1134,7 @@ static const struct file_operations mtd_fops = { | |||
1134 | static struct dentry *mtd_inodefs_mount(struct file_system_type *fs_type, | 1134 | static struct dentry *mtd_inodefs_mount(struct file_system_type *fs_type, |
1135 | int flags, const char *dev_name, void *data) | 1135 | int flags, const char *dev_name, void *data) |
1136 | { | 1136 | { |
1137 | return mount_pseudo(fs_type, "mtd_inode:", NULL, MTD_INODE_FS_MAGIC); | 1137 | return mount_pseudo(fs_type, "mtd_inode:", NULL, NULL, MTD_INODE_FS_MAGIC); |
1138 | } | 1138 | } |
1139 | 1139 | ||
1140 | static struct file_system_type mtd_inodefs_type = { | 1140 | static struct file_system_type mtd_inodefs_type = { |
diff --git a/drivers/staging/pohmelfs/net.c b/drivers/staging/pohmelfs/net.c index 9279897ff161..b2e918622088 100644 --- a/drivers/staging/pohmelfs/net.c +++ b/drivers/staging/pohmelfs/net.c | |||
@@ -413,7 +413,7 @@ static int pohmelfs_readdir_response(struct netfs_state *st) | |||
413 | if (dentry) { | 413 | if (dentry) { |
414 | alias = d_materialise_unique(dentry, &npi->vfs_inode); | 414 | alias = d_materialise_unique(dentry, &npi->vfs_inode); |
415 | if (alias) | 415 | if (alias) |
416 | dput(dentry); | 416 | dput(alias); |
417 | } | 417 | } |
418 | 418 | ||
419 | dput(dentry); | 419 | dput(dentry); |
diff --git a/drivers/staging/smbfs/dir.c b/drivers/staging/smbfs/dir.c index dd612f50749f..87a3a9bd5842 100644 --- a/drivers/staging/smbfs/dir.c +++ b/drivers/staging/smbfs/dir.c | |||
@@ -403,12 +403,6 @@ smb_delete_dentry(const struct dentry *dentry) | |||
403 | void | 403 | void |
404 | smb_new_dentry(struct dentry *dentry) | 404 | smb_new_dentry(struct dentry *dentry) |
405 | { | 405 | { |
406 | struct smb_sb_info *server = server_from_dentry(dentry); | ||
407 | |||
408 | if (server->mnt->flags & SMB_MOUNT_CASE) | ||
409 | d_set_d_op(dentry, &smbfs_dentry_operations_case); | ||
410 | else | ||
411 | d_set_d_op(dentry, &smbfs_dentry_operations); | ||
412 | dentry->d_time = jiffies; | 406 | dentry->d_time = jiffies; |
413 | } | 407 | } |
414 | 408 | ||
@@ -440,7 +434,6 @@ smb_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd) | |||
440 | struct smb_fattr finfo; | 434 | struct smb_fattr finfo; |
441 | struct inode *inode; | 435 | struct inode *inode; |
442 | int error; | 436 | int error; |
443 | struct smb_sb_info *server; | ||
444 | 437 | ||
445 | error = -ENAMETOOLONG; | 438 | error = -ENAMETOOLONG; |
446 | if (dentry->d_name.len > SMB_MAXNAMELEN) | 439 | if (dentry->d_name.len > SMB_MAXNAMELEN) |
@@ -468,12 +461,6 @@ smb_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd) | |||
468 | inode = smb_iget(dir->i_sb, &finfo); | 461 | inode = smb_iget(dir->i_sb, &finfo); |
469 | if (inode) { | 462 | if (inode) { |
470 | add_entry: | 463 | add_entry: |
471 | server = server_from_dentry(dentry); | ||
472 | if (server->mnt->flags & SMB_MOUNT_CASE) | ||
473 | d_set_d_op(dentry, &smbfs_dentry_operations_case); | ||
474 | else | ||
475 | d_set_d_op(dentry, &smbfs_dentry_operations); | ||
476 | |||
477 | d_add(dentry, inode); | 464 | d_add(dentry, inode); |
478 | smb_renew_times(dentry); | 465 | smb_renew_times(dentry); |
479 | error = 0; | 466 | error = 0; |
diff --git a/drivers/staging/smbfs/inode.c b/drivers/staging/smbfs/inode.c index 244319dc9702..0778589d9e9e 100644 --- a/drivers/staging/smbfs/inode.c +++ b/drivers/staging/smbfs/inode.c | |||
@@ -614,6 +614,10 @@ static int smb_fill_super(struct super_block *sb, void *raw_data, int silent) | |||
614 | printk(KERN_ERR "smbfs: failed to start smbiod\n"); | 614 | printk(KERN_ERR "smbfs: failed to start smbiod\n"); |
615 | goto out_no_smbiod; | 615 | goto out_no_smbiod; |
616 | } | 616 | } |
617 | if (server->mnt->flags & SMB_MOUNT_CASE) | ||
618 | sb->s_d_op = &smbfs_dentry_operations_case; | ||
619 | else | ||
620 | sb->s_d_op = &smbfs_dentry_operations; | ||
617 | 621 | ||
618 | /* | 622 | /* |
619 | * Keep the super block locked while we get the root inode. | 623 | * Keep the super block locked while we get the root inode. |
diff --git a/drivers/staging/smbfs/proto.h b/drivers/staging/smbfs/proto.h index 05939a6f43e6..3883cb16a3f6 100644 --- a/drivers/staging/smbfs/proto.h +++ b/drivers/staging/smbfs/proto.h | |||
@@ -38,6 +38,8 @@ extern void smb_install_null_ops(struct smb_ops *ops); | |||
38 | extern const struct file_operations smb_dir_operations; | 38 | extern const struct file_operations smb_dir_operations; |
39 | extern const struct inode_operations smb_dir_inode_operations; | 39 | extern const struct inode_operations smb_dir_inode_operations; |
40 | extern const struct inode_operations smb_dir_inode_operations_unix; | 40 | extern const struct inode_operations smb_dir_inode_operations_unix; |
41 | extern const struct dentry_operations smbfs_dentry_operations_case; | ||
42 | extern const struct dentry_operations smbfs_dentry_operations; | ||
41 | extern void smb_new_dentry(struct dentry *dentry); | 43 | extern void smb_new_dentry(struct dentry *dentry); |
42 | extern void smb_renew_times(struct dentry *dentry); | 44 | extern void smb_renew_times(struct dentry *dentry); |
43 | /* cache.c */ | 45 | /* cache.c */ |