mirror of
https://github.com/versity/scoutfs.git
synced 2026-02-07 11:10:44 +00:00
scoutfs: don't add dirs to data_seq index
Directories were getting added to the data_seq index. It might have looked like they weren't because their data_seqs were always 0 but when inodes are created they don't have 'have_item' set so all the fields are added regardless of their current value. We'd rather not have to wade their directories when looking for regular file data in the data_seq index so let's explicitly test for regular files when updating the data_seq index items. Signed-off-by: Zach Brown <zab@versity.com>
This commit is contained in:
@@ -594,10 +594,12 @@ void scoutfs_update_inode_item(struct inode *inode)
|
||||
le64_to_cpu(sinode.size), 0, si->item_size, 0) ?:
|
||||
update_index(sb, si, ino, SCOUTFS_INODE_INDEX_META_SEQ_TYPE,
|
||||
le64_to_cpu(sinode.meta_seq), 0,
|
||||
si->item_meta_seq, 0) ?:
|
||||
update_index(sb, si, ino, SCOUTFS_INODE_INDEX_DATA_SEQ_TYPE,
|
||||
le64_to_cpu(sinode.data_seq), 0,
|
||||
si->item_data_seq, 0);
|
||||
si->item_meta_seq, 0);
|
||||
if (ret == 0 && S_ISREG(inode->i_mode))
|
||||
ret = update_index(sb, si, ino,
|
||||
SCOUTFS_INODE_INDEX_DATA_SEQ_TYPE,
|
||||
le64_to_cpu(sinode.data_seq), 0,
|
||||
si->item_data_seq, 0);
|
||||
BUG_ON(ret);
|
||||
|
||||
scoutfs_inode_init_key(&key, &ikey, ino);
|
||||
|
||||
Reference in New Issue
Block a user