- return for_dentry_in_tree(wim_root_dentry(w),
- dentry_find_streams_to_write, w);
+ struct wim_lookup_table_entry *lte;
+ for (unsigned i = 0; i <= inode->i_num_ads; i++) {
+ lte = inode_stream_lte(inode, i, table);
+ if (lte) {
+ if (lte->out_refcnt == 0)
+ list_add_tail(<e->staging_list, stream_list);
+ lte->out_refcnt += inode->i_nlink;
+ }
+ }
+ return 0;
+}
+
+static int image_find_streams_to_write(WIMStruct *w)
+{
+ struct wim_inode *inode;
+ struct hlist_node *cur;
+ struct hlist_head *inode_list;
+
+ inode_list = &wim_get_current_image_metadata(w)->inode_list;
+ hlist_for_each_entry(inode, cur, inode_list, i_hlist) {
+ inode_find_streams_to_write(inode, w->lookup_table,
+ (struct list_head*)w->private);
+ }
+ return 0;