diff options
Diffstat (limited to 'fs/coda/dir.c')
| -rw-r--r-- | fs/coda/dir.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/coda/dir.c b/fs/coda/dir.c index 87e0ee9f4465..190effc6a6fa 100644 --- a/fs/coda/dir.c +++ b/fs/coda/dir.c | |||
| @@ -487,13 +487,7 @@ static int coda_venus_readdir(struct file *coda_file, struct dir_context *ctx) | |||
| 487 | 487 | ||
| 488 | /* skip null entries */ | 488 | /* skip null entries */ |
| 489 | if (vdir->d_fileno && name.len) { | 489 | if (vdir->d_fileno && name.len) { |
| 490 | /* try to look up this entry in the dcache, that way | 490 | ino = vdir->d_fileno; |
| 491 | * userspace doesn't have to worry about breaking | ||
| 492 | * getcwd by having mismatched inode numbers for | ||
| 493 | * internal volume mountpoints. */ | ||
| 494 | ino = find_inode_number(de, &name); | ||
| 495 | if (!ino) ino = vdir->d_fileno; | ||
| 496 | |||
| 497 | type = CDT2DT(vdir->d_type); | 491 | type = CDT2DT(vdir->d_type); |
| 498 | if (!dir_emit(ctx, name.name, name.len, ino, type)) | 492 | if (!dir_emit(ctx, name.name, name.len, ino, type)) |
| 499 | break; | 493 | break; |
| @@ -532,7 +526,7 @@ static int coda_dentry_revalidate(struct dentry *de, unsigned int flags) | |||
| 532 | if (cii->c_flags & C_FLUSH) | 526 | if (cii->c_flags & C_FLUSH) |
| 533 | coda_flag_inode_children(inode, C_FLUSH); | 527 | coda_flag_inode_children(inode, C_FLUSH); |
| 534 | 528 | ||
| 535 | if (de->d_count > 1) | 529 | if (d_count(de) > 1) |
| 536 | /* pretend it's valid, but don't change the flags */ | 530 | /* pretend it's valid, but don't change the flags */ |
| 537 | goto out; | 531 | goto out; |
| 538 | 532 | ||
