[cifs-protocol] are reparse points and EAs really mutually exclusive?

Aurélien Aptel aaptel at suse.com
Thu Oct 22 10:53:27 UTC 2020


Hi,

This page [1] reads:

> Reparse points and extended attributes are mutually exclusive. The NTFS
> file system cannot create a reparse point when the file contains
> extended attributes, and it cannot create extended attributes on a file
> that contains a reparse point.

Yet I have this file that has both (dump below). Should the doc be
updated or is something more complex going on?

  PS> fsutil file layout /v pipe
  ********* File 0x00040000000369c0 *********
  File reference number   : 0x00040000000369c0
  File attributes         : 0x00000420: Archive | Reparse point
  File entry flags        : 0x00000000
  Link (ParentID: Name)   : 0x000600000000d24e: NTFS+DOS Name: \shares\data\wslv1\pipe
  Creation Time           : 10/15/2020 14:54:02
  Last Access Time        : 10/15/2020 14:54:02
  Last Write Time         : 10/15/2020 14:54:02
  Change Time             : 10/22/2020 10:42:32
  LastUsn                 : 1,508,524,832
  OwnerId                 : 0
  SecurityId              : 1872
  StorageReserveId        : 0
  Stream                  : 0x010  ::$STANDARD_INFORMATION
      Attributes          : 0x00000000: *NONE*
      Flags               : 0x0000000c: Resident | No clusters allocated
      Size                : 72
      Allocated Size      : 72
  Stream                  : 0x030  ::$FILE_NAME
      Attributes          : 0x00000000: *NONE*
      Flags               : 0x0000000c: Resident | No clusters allocated
      Size                : 74
      Allocated Size      : 80
  Stream                  : 0x080  ::$DATA
      Attributes          : 0x00000000: *NONE*
      Flags               : 0x0000001c: Resident | No clusters allocated | Has Parsed Information
      Size                : 0 (0.0 KB)
      Allocated Size      : 0 (0.0 KB)
      Vdl                 : 0 (0.0 KB)
  Stream                  : 0x0c0  ::$REPARSE_POINT
      Attributes          : 0x00000000: *NONE*
      Flags               : 0x0000001c: Resident | No clusters allocated | Has Parsed Information
      Size                : 8
      Allocated Size      : 8
      Reparse Data        : Reparse Tag Value : 0x80000024
                          : Tag value: Microsoft
                          : Reparse Data Length: 0x0       
  Stream                  : 0x0d0  ::$EA_INFORMATION
      Attributes          : 0x00000000: *NONE*
      Flags               : 0x0000000c: Resident | No clusters allocated
      Size                : 8
      Allocated Size      : 8
  Stream                  : 0x0e0  ::$EA
      Attributes          : 0x00000000: *NONE*
      Flags               : 0x0000001c: Resident | No clusters allocated | Has Parsed Information
      Size                : 60
      Allocated Size      : 64
      Ea Information      : Ea Size: 0x3b      
                          : Ea Buffer Offset: 0x0       
                          : Ea Name: $LXUID
                          : Ea Value Length: 0x4       
                          : 0000:  e8 03 00 00                                       ....
                          : Ea Buffer Offset: 0x14      
                          : Ea Name: $LXGID
                          : Ea Value Length: 0x4       
                          : 0000:  64 00 00 00                                       d...
                          : Ea Buffer Offset: 0x28      
                          : Ea Name: $LXMOD
                          : Ea Value Length: 0x4       
                          : 0000:  a4 11 00 00                                       ....
  

1: https://docs.microsoft.com/en-us/windows/win32/fileio/reparse-points

Cheers,
-- 
Aurélien Aptel / SUSE Labs Samba Team
GPG: 1839 CB5F 9F5B FB9B AA97  8C99 03C8 A49B 521B D5D3
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg, DE
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 247165 (AG München)




More information about the cifs-protocol mailing list