Displaying 3 results from an estimated 3 matches for "i_dir_start_lookup".
2001 Aug 20
1
[tytso@mit.edu: Re: Your ext2 optimisation for readdir+stat]
...ed reclen = EXT2_DIR_REC_LEN(namelen);
- unsigned long n;
+ unsigned long start, n;
unsigned long npages = dir_pages(dir);
struct page *page = NULL;
ext2_dirent * de;
@@ -311,7 +311,11 @@
/* OFFSET_CACHE */
*res_page = NULL;
- for (n = 0; n < npages; n++) {
+ start = dir->u.ext2_i.i_dir_start_lookup;
+ if (start >= npages)
+ start = 0;
+ n = start;
+ do {
char *kaddr;
page = ext2_get_page(dir, n);
if (IS_ERR(page))
@@ -324,11 +328,14 @@
if (ext2_match (namelen, name, de))
goto found;
ext2_put_page(page);
- }
+ if (++n >= npages)
+ n = 0;
+ } while (n != start);...
2005 Jul 20
0
ext3 nodump attribute inheritance
...ne patch against kernel 2.6.8, ialloc.c/ext3_new_inode():
--- kernel-source-2.6.8-orig/fs/ext3/ialloc.c 2004-08-14
07:36:58.000000000 +0200
+++ kernel-source-2.6.8/fs/ext3/ialloc.c 2005-07-19
11:20:36.000000000 +0200
@@ -566,9 +566,9 @@
ei->i_next_alloc_goal = 0;
ei->i_dir_start_lookup = 0;
ei->i_disksize = 0;
- ei->i_flags = EXT3_I(dir)->i_flags & ~EXT3_INDEX_FL;
+ ei->i_flags = EXT3_I(dir)->i_flags & ~(EXT3_INDEX_FL |
EXT3_NODUMP_FL);
if (S_ISLNK(mode))
ei->i_flags &= ~(EXT3_IMMUTABLE_FL|EXT3_APPEND_FL)...
2003 Jan 16
0
[PATCH] Using qstr in ext3_get_parent()
...not found,
* return. Otherwise, fall back to doing a search the
@@ -832,7 +830,7 @@
brelse(bh);
goto next;
}
- i = search_dirblock(bh, dir, dentry,
+ i = search_dirblock(bh, dir, entry,
block << EXT3_BLOCK_SIZE_BITS(sb), res_dir);
if (i == 1) {
EXT3_I(dir)->i_dir_start_lookup = block;
@@ -867,8 +865,9 @@
}
#ifdef CONFIG_EXT3_INDEX
-static struct buffer_head * ext3_dx_find_entry(struct dentry *dentry,
- struct ext3_dir_entry_2 **res_dir, int *err)
+static struct buffer_head *
+ext3_dx_find_entry(struct inode *dir, struct qstr *entry,
+ struct ext3_dir_ent...