inode->i_security_id = -1;
/*inode->i_nlink = 0;*/
- inode->i_not_rpfixed = 1;
- INIT_LIST_HEAD(&inode->i_dentry);
+ inode->i_rp_flags = WIM_RP_FLAG_NOT_FIXED;
+ INIT_HLIST_HEAD(&inode->i_alias_list);
inode->i_streams = inode->i_embedded_streams;
if (set_timestamps) {
u64 now = now_as_wim_timestamp();
FREE(inode->i_streams);
if (inode->i_extra)
FREE(inode->i_extra);
- if (!hlist_unhashed(&inode->i_hlist))
- hlist_del(&inode->i_hlist);
+ if (!hlist_unhashed(&inode->i_hlist_node))
+ hlist_del(&inode->i_hlist_node);
FREE(inode);
}
{
wimlib_assert(!dentry->d_inode);
- list_add_tail(&dentry->d_alias, &inode->i_dentry);
+ hlist_add_head(&dentry->d_alias_node, &inode->i_alias_list);
dentry->d_inode = inode;
inode->i_nlink++;
}
wimlib_assert(inode->i_nlink > 0);
- list_del(&dentry->d_alias);
+ hlist_del(&dentry->d_alias_node);
dentry->d_inode = NULL;
inode->i_nlink--;
{
if (inode->i_num_streams >= 0xFFFF) {
ERROR("Inode has too many streams! Path=\"%"TS"\"",
- inode_first_full_path(inode));
+ inode_any_full_path(inode));
errno = EFBIG;
return NULL;
}
ERROR("\"%"TS"\": blob not found\n"
" SHA-1 message digest of missing blob:\n"
" %"TS"",
- inode_first_full_path(inode), hashstr);
+ inode_any_full_path(inode), hashstr);
}
return WIMLIB_ERR_RESOURCE_NOT_FOUND;
}
/*
- * Return the blob descriptor for the specified stream, or NULL if the blob for
- * the stream is empty or not available.
+ * Return the blob descriptor for the specified stream, or NULL if the stream is
+ * empty or its blob is not available in @table.
*/
struct blob_descriptor *
stream_blob(const struct wim_inode_stream *strm, const struct blob_table *table)
/*
* Return the blob descriptor for the unnamed data stream of the inode, or NULL
- * if the inode does not have an unnamed data stream, the blob for the inode's
- * unnamed data stream is empty, or the blob for the inode's unnamed data stream
- * is not available in @blob_table.
+ * if the inode does not have an unnamed data stream, the inode's unnamed data
+ * stream is empty, or the blob for the inode's unnamed data stream is not
+ * available in @blob_table.
*/
struct blob_descriptor *
inode_get_blob_for_unnamed_data_stream(const struct wim_inode *inode,