Btrfs: add dir inode index

Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
Chris Mason
2007-04-04 21:22:22 -04:00
committed by David Woodhouse
parent b1a4d96509
commit bae45de03c
4 changed files with 33 additions and 9 deletions

View File

@@ -447,7 +447,7 @@ static int btrfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
mutex_lock(&root->fs_info->fs_mutex);
key.objectid = inode->i_ino;
key.flags = 0;
btrfs_set_key_type(&key, BTRFS_DIR_ITEM_KEY);
btrfs_set_key_type(&key, BTRFS_DIR_INDEX_KEY);
key.offset = filp->f_pos;
path = btrfs_alloc_path();
btrfs_init_path(path);
@@ -477,7 +477,7 @@ static int btrfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
item = leaf->items + slot;
if (btrfs_disk_key_objectid(&item->key) != key.objectid)
break;
if (btrfs_disk_key_type(&item->key) != BTRFS_DIR_ITEM_KEY)
if (btrfs_disk_key_type(&item->key) != BTRFS_DIR_INDEX_KEY)
continue;
if (btrfs_disk_key_offset(&item->key) < filp->f_pos)
continue;