-
-
Notifications
You must be signed in to change notification settings - Fork 34.2k
Closed
Labels
fsIssues and PRs related to the fs subsystem / file system.Issues and PRs related to the fs subsystem / file system.windowsIssues and PRs related to the Windows platform.Issues and PRs related to the Windows platform.
Description
- Version: 7.9.0
- Platform: Windows 10 (16179)
- Subsystem: fs (lstat)
Referenced issues:
- hyper #1776 - Gaze is adding all folders in HOME to watch list
- gaze #239 - fs.lstatSync doesn't handle specific Windows REPARSE POINTS
Issue
While tracking down an issue affecting hyper, it lead me to the use by gaze of fs.lstatSync.
It seems that on Windows, there is something different about the reparse point on OneDrive local sync folders, that results in a EINVAL error from fs.lstatSync. The fs.lstatSync correctly handles other junctions, folders and files in HOME with no error.
Error example - OneDrive
C:\> node
> fs.lstatSync('C:/Users/pabouwer/OneDrive')
Error: EINVAL: invalid argument, lstat 'C:\Users\pabouwer\OneDrive'
at Object.fs.lstatSync (fs.js:961:11)
at repl:1:4
at ContextifyScript.Script.runInThisContext (vm.js:23:33)
at REPLServer.defaultEval (repl.js:339:29)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.onLine (repl.js:536:10)
at emitOne (events.js:101:20)
at REPLServer.emit (events.js:191:7)
at REPLServer.Interface._onLine (readline.js:241:10)
C:\> junction -nobanner "C:/Users/pabouwer/OneDrive"
C:\Users\pabouwer\OneDrive: UNKNOWN MICROSOFT REPARSE POINT
Working example - My Documents
C:\> node
> fs.lstatSync('C:/Users/pabouwer/My Documents')
Stats {
dev: 2348871125,
mode: 41398,
nlink: 1,
uid: 0,
gid: 0,
rdev: 0,
blksize: undefined,
ino: 8444249301777451,
size: 27,
blocks: undefined,
atime: 2017-04-23T23:24:58.150Z,
mtime: 2017-04-23T23:24:58.150Z,
ctime: 2017-04-23T23:24:58.185Z,
birthtime: 2017-04-23T23:24:58.150Z }
C:\> junction -nobanner "C:/Users/pabouwer/My Documents"
C:\Users\pabouwer\My Documents: JUNCTION
Print Name : C:\Users\pabouwer\Documents
Substitute Name: C:\Users\pabouwer\Documents
Metadata
Metadata
Assignees
Labels
fsIssues and PRs related to the fs subsystem / file system.Issues and PRs related to the fs subsystem / file system.windowsIssues and PRs related to the Windows platform.Issues and PRs related to the Windows platform.