{"record":{"id":"b6103924d4bb7588","repo":"sxyazi/yazi","slug":"unsupported-filesystem","errorCode":null,"errorMessage":"Unsupported filesystem","messagePattern":"Unsupported filesystem","errorType":"exception","errorClass":"io::Error","httpStatus":null,"severity":"error","filePath":"yazi-vfs/src/engine/engine.rs","lineNumber":125,"sourceCode":"\tU: AsUrl,\n\tV: AsUrl,\n{\n\tlet (original, link) = (original.as_url(), link.as_url());\n\tif original.auth().same_service(link.auth()) {\n\t\tEngines::new(original).await?.hard_link(link.loc()).await\n\t} else {\n\t\tErr(io::ErrorKind::CrossesDevices.into())\n\t}\n}\n\nasync fn identical<U, V>(a: U, b: V) -> io::Result<bool>\nwhere\n\tU: AsUrl,\n\tV: AsUrl,\n{\n\tmatch (a.as_url().as_local(), b.as_url().as_local()) {\n\t\t(Some(a), Some(b)) => yazi_fs::engine::local::identical(a, b).await,\n\t\t_ => Err(io::Error::new(io::ErrorKind::Unsupported, \"Unsupported filesystem\")),\n\t}\n}\n\npub async fn metadata<U>(url: U) -> io::Result<Cha>\nwhere\n\tU: AsUrl,\n{\n\tEngines::new(url.as_url()).await?.metadata().await\n}\n\npub async fn must_identical<U, V>(a: U, b: V) -> bool\nwhere\n\tU: AsUrl,\n\tV: AsUrl,\n{\n\tidentical(a, b).await.unwrap_or_default()\n}\n","sourceCodeStart":107,"sourceCodeEnd":143,"githubUrl":"https://github.com/sxyazi/yazi/blob/8ebf930f1796ae2076b7d6b0c5e93a1002c18134/yazi-vfs/src/engine/engine.rs#L107-L143","documentation":"Fired by the VFS identical() helper when either of the two URLs being compared is not a local filesystem path (as_local() returns None). This generic guard exists because byte-for-byte identity can only be checked on local files; remote/sandboxed mounts have no local representation. It is raised as an io::Error with Unsupported kind and propagates to callers like must_identical, which treat it as a hard failure for operations such as overwrite-on-save that require proving two files are the same.","triggerScenarios":"Thrown at yazi-vfs/src/engine/engine.rs:144 when the library encounters an invalid state.","commonSituations":"Routing a VFS operation to a URL scheme that no registered filesystem engine supports.","solutions":["Use a URL scheme with a registered VFS engine (local file, sftp://, or a Lua VFS); the current scheme has no engine."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8ebf930f1796ae2076b7d6b0c5e93a1002c18134","analyzedAt":"2026-09-09T22:26:16.379Z","contentChangedAt":"2026-09-09T22:26:16.379Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}