File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -41,6 +41,7 @@ static struct trace_key trace_fscache = TRACE_KEY_INIT(FSCACHE);
41
41
struct fsentry {
42
42
struct hashmap_entry ent ;
43
43
mode_t st_mode ;
44
+ ULONG reparse_tag ;
44
45
/* Length of name. */
45
46
unsigned short len ;
46
47
/*
@@ -180,6 +181,10 @@ static struct fsentry *fseentry_create_entry(struct fscache *cache, struct fsent
180
181
181
182
fse = fsentry_alloc (cache , list , buf , len );
182
183
184
+ fse -> reparse_tag =
185
+ fdata -> FileAttributes & FILE_ATTRIBUTE_REPARSE_POINT ?
186
+ fdata -> EaSize : 0 ;
187
+
183
188
/*
184
189
* On certain Windows versions, host directories mapped into
185
190
* Windows Containers ("Volumes", see https://docs.docker.com/storage/volumes/)
@@ -189,8 +194,7 @@ static struct fsentry *fseentry_create_entry(struct fscache *cache, struct fsent
189
194
* Let's work around this by detecting that situation and
190
195
* telling Git that these are *not* symbolic links.
191
196
*/
192
- if (fdata -> FileAttributes & FILE_ATTRIBUTE_REPARSE_POINT &&
193
- fdata -> EaSize == IO_REPARSE_TAG_SYMLINK &&
197
+ if (fse -> reparse_tag == IO_REPARSE_TAG_SYMLINK &&
194
198
sizeof (buf ) > (list ? list -> len + 1 : 0 ) + fse -> len + 1 &&
195
199
is_inside_windows_container ()) {
196
200
size_t off = 0 ;
You can’t perform that action at this time.
0 commit comments