[PUP-4866] Plug-in Sync Should Use Long File Name (LFN) Paths on Windows Created: 2015/07/14  Updated: 2018/11/30

Status: Accepted
Project: Puppet
Component/s: PMT, Windows
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Ryan Gard Assignee: Ethan Brown
Resolution: Unresolved Votes: 0
Labels: dsc, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
blocks MODULES-2668 DSC - Plug-in Sync Fails on Windows 2... Resolved
is blocked by MODULES-4929 Spike - PUP-4866 (LFN Paths on Window... Accepted
Cloners
is cloned by PUP-6152 PMT Should Use Long File Name (LFN) P... Ready for Engineering
Duplicate
is duplicated by MODULES-5689 puppetlabs-dsc : xSQLServer error whe... Closed
Relates
relates to PUP-7888 Pluginsync modules with deep director... Open
relates to PUP-8257 Puppet::FileSystem::Windows should su... Open
relates to MODULES-2408 DSC - Document PMT long file name issue Resolved
relates to PUP-6152 PMT Should Use Long File Name (LFN) P... Ready for Engineering
relates to PUP-4854 PMT fails to install modules on Windo... Closed
relates to PUP-6152 PMT Should Use Long File Name (LFN) P... Ready for Engineering
Template:
Team: Coremunity
Story Points: 5

 Description   

Splitting PUP-4866 for PMT and Plug-in Sync to have a ticket for each effort.

This is the Plug-in Sync effort

It was discovered in PUP-4854 that long file name paths will break PMT and potentially plugin-sync. The PMT and Puppet core libraries should always use LFN (Long File Name aka "\\?\") paths for module installation to avoid long file name issues.

In PUP-4854 we reduced the amount of characters that PMT uses so that it allows for longer module paths to be installed. It helps with longer paths in modules, but it doesn't address the issue completely. We should instead look to use "\\?\" prepended to the path to allow for up to 32,000 characters in paths instead of the current MAX_PATH limit of 260 characters. See MSDN - Naming Files, Paths, and Namespaces.



 Comments   
Comment by Ryan Gard [ 2015/08/11 ]

Ethan Brown It's back!

Comment by Ethan Brown [ 2017/08/30 ]

Because pluginsync builds up a catalog, which is responsible for writing file resources, it's likely that fixes for this will end up in the implementation of the file type / provider.

Generated at Sat Dec 07 21:06:51 PST 2019 using JIRA 7.7.1#77002-sha1:e75ca93d5574d9409c0630b81c894d9065296414.