Lines Matching refs:nir
701 static void ntfs_insert_rb(struct ntfs_index_ra *nir, struct rb_root *root) in ntfs_insert_rb() argument
709 if (nir->start_index < cnir->start_index) in ntfs_insert_rb()
711 else if (nir->start_index >= cnir->start_index + cnir->count) in ntfs_insert_rb()
715 nir->start_index, nir->count, cnir->start_index, cnir->count); in ntfs_insert_rb()
720 rb_link_node(&nir->rb_node, parent, new); in ntfs_insert_rb()
721 rb_insert_color(&nir->rb_node, root); in ntfs_insert_rb()
765 struct ntfs_index_ra *nir = NULL; in ntfs_readdir() local
948 if (nir) { in ntfs_readdir()
952 if (nir->start_index <= index && in ntfs_readdir()
953 index < nir->start_index + nir->count) { in ntfs_readdir()
977 if (nir->start_index + nir->count == index) { in ntfs_readdir()
978 nir->count++; in ntfs_readdir()
979 } else if (!nir->start_index && nir->start_index - 1 == index) { in ntfs_readdir()
980 nir->start_index = index; in ntfs_readdir()
981 } else if (nir->count > 2) { in ntfs_readdir()
982 ntfs_insert_rb(nir, &ra_root); in ntfs_readdir()
983 nir = NULL; in ntfs_readdir()
985 nir->start_index = index; in ntfs_readdir()
986 nir->count = 1; in ntfs_readdir()
990 if (!nir) { in ntfs_readdir()
991 nir = kzalloc(sizeof(struct ntfs_index_ra), GFP_KERNEL); in ntfs_readdir()
992 if (nir) { in ntfs_readdir()
993 nir->start_index = index; in ntfs_readdir()
994 nir->count = 1; in ntfs_readdir()
1050 kfree(nir); in ntfs_readdir()