]> wimlib.net Git - wimlib/commitdiff
mount_image.c: Don't assume inode is resolved
authorEric Biggers <ebiggers3@gmail.com>
Thu, 20 Feb 2014 01:59:17 +0000 (19:59 -0600)
committerEric Biggers <ebiggers3@gmail.com>
Thu, 20 Feb 2014 02:01:22 +0000 (20:01 -0600)
The code should no longer assume that all streams have been resolved
before mounting, since now errors are issued when accessing files with
missing streams.

However this line still appeared to work correctly because FUSE seems to
always call getattr(), which results in stream resolution in
wim_pathname_to_stream(), before unlinking.

src/mount_image.c

index 7482ceb069106d8829fc83037b16740ae6115d59..d71654668890453af5960e1a67d27654e089ea75 100644 (file)
@@ -388,7 +388,7 @@ remove_dentry(struct wim_dentry *dentry,
        unsigned i;
 
        for (i = 0; i <= inode->i_num_ads; i++) {
        unsigned i;
 
        for (i = 0; i <= inode->i_num_ads; i++) {
-               lte = inode_stream_lte_resolved(inode, i);
+               lte = inode_stream_lte(inode, i, lookup_table);
                if (lte)
                        lte_decrement_refcnt(lte, lookup_table);
        }
                if (lte)
                        lte_decrement_refcnt(lte, lookup_table);
        }