diff options
Diffstat (limited to 'fs/isofs/namei.c')
-rw-r--r-- | fs/isofs/namei.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/fs/isofs/namei.c b/fs/isofs/namei.c index 690edf37173c..e37e82b7cbf0 100644 --- a/fs/isofs/namei.c +++ b/fs/isofs/namei.c | |||
@@ -131,14 +131,16 @@ isofs_find_entry(struct inode *dir, struct dentry *dentry, | |||
131 | } | 131 | } |
132 | 132 | ||
133 | /* | 133 | /* |
134 | * Skip hidden or associated files unless unhide is set | 134 | * Skip hidden or associated files unless hide or showassoc, |
135 | * respectively, is set | ||
135 | */ | 136 | */ |
136 | match = 0; | 137 | match = 0; |
137 | if (dlen > 0 && | 138 | if (dlen > 0 && |
138 | (!(de->flags[-sbi->s_high_sierra] & 5) | 139 | (sbi->s_hide =='n' || |
139 | || sbi->s_unhide == 'y')) | 140 | (!(de->flags[-sbi->s_high_sierra] & 1))) && |
140 | { | 141 | (sbi->s_showassoc =='y' || |
141 | match = (isofs_cmp(dentry,dpnt,dlen) == 0); | 142 | (!(de->flags[-sbi->s_high_sierra] & 4)))) { |
143 | match = (isofs_cmp(dentry, dpnt, dlen) == 0); | ||
142 | } | 144 | } |
143 | if (match) { | 145 | if (match) { |
144 | isofs_normalize_block_and_offset(de, | 146 | isofs_normalize_block_and_offset(de, |
@@ -146,11 +148,11 @@ isofs_find_entry(struct inode *dir, struct dentry *dentry, | |||
146 | &offset_saved); | 148 | &offset_saved); |
147 | *block_rv = block_saved; | 149 | *block_rv = block_saved; |
148 | *offset_rv = offset_saved; | 150 | *offset_rv = offset_saved; |
149 | if (bh) brelse(bh); | 151 | brelse(bh); |
150 | return 1; | 152 | return 1; |
151 | } | 153 | } |
152 | } | 154 | } |
153 | if (bh) brelse(bh); | 155 | brelse(bh); |
154 | return 0; | 156 | return 0; |
155 | } | 157 | } |
156 | 158 | ||