diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2008-08-24 07:28:39 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2008-10-23 05:13:09 -0400 |
commit | a9885444f7ff6e9156adb1adf5558ded9a39ad0a (patch) | |
tree | 0f52bb872aface2a022f7cdb7aea5cd33ab10509 /fs/ext2/dir.c | |
parent | 734711abac46c8fee4d70cc9876ebc6d9edb4971 (diff) |
[PATCH] get rid of on-stack dentry in ext2_get_parent()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ext2/dir.c')
-rw-r--r-- | fs/ext2/dir.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/ext2/dir.c b/fs/ext2/dir.c index 11a49ce84392..9a0fc400f91c 100644 --- a/fs/ext2/dir.c +++ b/fs/ext2/dir.c | |||
@@ -354,11 +354,11 @@ ext2_readdir (struct file * filp, void * dirent, filldir_t filldir) | |||
354 | * (as a parameter - res_dir). Page is returned mapped and unlocked. | 354 | * (as a parameter - res_dir). Page is returned mapped and unlocked. |
355 | * Entry is guaranteed to be valid. | 355 | * Entry is guaranteed to be valid. |
356 | */ | 356 | */ |
357 | struct ext2_dir_entry_2 * ext2_find_entry (struct inode * dir, | 357 | struct ext2_dir_entry_2 *ext2_find_entry (struct inode * dir, |
358 | struct dentry *dentry, struct page ** res_page) | 358 | struct qstr *child, struct page ** res_page) |
359 | { | 359 | { |
360 | const char *name = dentry->d_name.name; | 360 | const char *name = child->name; |
361 | int namelen = dentry->d_name.len; | 361 | int namelen = child->len; |
362 | unsigned reclen = EXT2_DIR_REC_LEN(namelen); | 362 | unsigned reclen = EXT2_DIR_REC_LEN(namelen); |
363 | unsigned long start, n; | 363 | unsigned long start, n; |
364 | unsigned long npages = dir_pages(dir); | 364 | unsigned long npages = dir_pages(dir); |
@@ -431,13 +431,13 @@ struct ext2_dir_entry_2 * ext2_dotdot (struct inode *dir, struct page **p) | |||
431 | return de; | 431 | return de; |
432 | } | 432 | } |
433 | 433 | ||
434 | ino_t ext2_inode_by_name(struct inode * dir, struct dentry *dentry) | 434 | ino_t ext2_inode_by_name(struct inode *dir, struct qstr *child) |
435 | { | 435 | { |
436 | ino_t res = 0; | 436 | ino_t res = 0; |
437 | struct ext2_dir_entry_2 * de; | 437 | struct ext2_dir_entry_2 *de; |
438 | struct page *page; | 438 | struct page *page; |
439 | 439 | ||
440 | de = ext2_find_entry (dir, dentry, &page); | 440 | de = ext2_find_entry (dir, child, &page); |
441 | if (de) { | 441 | if (de) { |
442 | res = le32_to_cpu(de->inode); | 442 | res = le32_to_cpu(de->inode); |
443 | ext2_put_page(page); | 443 | ext2_put_page(page); |