diff options
Diffstat (limited to 'fs/logfs/dir.c')
-rw-r--r-- | fs/logfs/dir.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/fs/logfs/dir.c b/fs/logfs/dir.c index 9777eb5b5522..1afae26cf236 100644 --- a/fs/logfs/dir.c +++ b/fs/logfs/dir.c | |||
@@ -92,7 +92,7 @@ static int beyond_eof(struct inode *inode, loff_t bix) | |||
92 | * so short names (len <= 9) don't even occupy the complete 32bit name | 92 | * so short names (len <= 9) don't even occupy the complete 32bit name |
93 | * space. A prime >256 ensures short names quickly spread the 32bit | 93 | * space. A prime >256 ensures short names quickly spread the 32bit |
94 | * name space. Add about 26 for the estimated amount of information | 94 | * name space. Add about 26 for the estimated amount of information |
95 | * of each character and pick a prime nearby, preferrably a bit-sparse | 95 | * of each character and pick a prime nearby, preferably a bit-sparse |
96 | * one. | 96 | * one. |
97 | */ | 97 | */ |
98 | static u32 hash_32(const char *s, int len, u32 seed) | 98 | static u32 hash_32(const char *s, int len, u32 seed) |
@@ -555,11 +555,6 @@ static int logfs_symlink(struct inode *dir, struct dentry *dentry, | |||
555 | return __logfs_create(dir, dentry, inode, target, destlen); | 555 | return __logfs_create(dir, dentry, inode, target, destlen); |
556 | } | 556 | } |
557 | 557 | ||
558 | static int logfs_permission(struct inode *inode, int mask) | ||
559 | { | ||
560 | return generic_permission(inode, mask, NULL); | ||
561 | } | ||
562 | |||
563 | static int logfs_link(struct dentry *old_dentry, struct inode *dir, | 558 | static int logfs_link(struct dentry *old_dentry, struct inode *dir, |
564 | struct dentry *dentry) | 559 | struct dentry *dentry) |
565 | { | 560 | { |
@@ -569,7 +564,7 @@ static int logfs_link(struct dentry *old_dentry, struct inode *dir, | |||
569 | return -EMLINK; | 564 | return -EMLINK; |
570 | 565 | ||
571 | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; | 566 | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
572 | atomic_inc(&inode->i_count); | 567 | ihold(inode); |
573 | inode->i_nlink++; | 568 | inode->i_nlink++; |
574 | mark_inode_dirty_sync(inode); | 569 | mark_inode_dirty_sync(inode); |
575 | 570 | ||
@@ -818,7 +813,6 @@ const struct inode_operations logfs_dir_iops = { | |||
818 | .mknod = logfs_mknod, | 813 | .mknod = logfs_mknod, |
819 | .rename = logfs_rename, | 814 | .rename = logfs_rename, |
820 | .rmdir = logfs_rmdir, | 815 | .rmdir = logfs_rmdir, |
821 | .permission = logfs_permission, | ||
822 | .symlink = logfs_symlink, | 816 | .symlink = logfs_symlink, |
823 | .unlink = logfs_unlink, | 817 | .unlink = logfs_unlink, |
824 | }; | 818 | }; |
@@ -827,4 +821,5 @@ const struct file_operations logfs_dir_fops = { | |||
827 | .unlocked_ioctl = logfs_ioctl, | 821 | .unlocked_ioctl = logfs_ioctl, |
828 | .readdir = logfs_readdir, | 822 | .readdir = logfs_readdir, |
829 | .read = generic_read_dir, | 823 | .read = generic_read_dir, |
824 | .llseek = default_llseek, | ||
830 | }; | 825 | }; |