diff options
Diffstat (limited to 'fs/hfs/inode.c')
-rw-r--r-- | fs/hfs/inode.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c index dc4ec640e875..7e19835efa2e 100644 --- a/fs/hfs/inode.c +++ b/fs/hfs/inode.c | |||
@@ -511,8 +511,7 @@ void hfs_clear_inode(struct inode *inode) | |||
511 | } | 511 | } |
512 | } | 512 | } |
513 | 513 | ||
514 | static int hfs_permission(struct inode *inode, int mask, | 514 | static int hfs_permission(struct inode *inode, int mask) |
515 | struct nameidata *nd) | ||
516 | { | 515 | { |
517 | if (S_ISREG(inode->i_mode) && mask & MAY_EXEC) | 516 | if (S_ISREG(inode->i_mode) && mask & MAY_EXEC) |
518 | return 0; | 517 | return 0; |
@@ -523,8 +522,6 @@ static int hfs_file_open(struct inode *inode, struct file *file) | |||
523 | { | 522 | { |
524 | if (HFS_IS_RSRC(inode)) | 523 | if (HFS_IS_RSRC(inode)) |
525 | inode = HFS_I(inode)->rsrc_inode; | 524 | inode = HFS_I(inode)->rsrc_inode; |
526 | if (atomic_read(&file->f_count) != 1) | ||
527 | return 0; | ||
528 | atomic_inc(&HFS_I(inode)->opencnt); | 525 | atomic_inc(&HFS_I(inode)->opencnt); |
529 | return 0; | 526 | return 0; |
530 | } | 527 | } |
@@ -535,8 +532,6 @@ static int hfs_file_release(struct inode *inode, struct file *file) | |||
535 | 532 | ||
536 | if (HFS_IS_RSRC(inode)) | 533 | if (HFS_IS_RSRC(inode)) |
537 | inode = HFS_I(inode)->rsrc_inode; | 534 | inode = HFS_I(inode)->rsrc_inode; |
538 | if (atomic_read(&file->f_count) != 0) | ||
539 | return 0; | ||
540 | if (atomic_dec_and_test(&HFS_I(inode)->opencnt)) { | 535 | if (atomic_dec_and_test(&HFS_I(inode)->opencnt)) { |
541 | mutex_lock(&inode->i_mutex); | 536 | mutex_lock(&inode->i_mutex); |
542 | hfs_file_truncate(inode); | 537 | hfs_file_truncate(inode); |