-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Description
Description
Firstly, don't confuse this with #17133 (comment). Conceptually, they're similar. However, in a technical sense, they're utterly unrelated. With that disclaimed:
-
The Problem
-
If I attempt to enter the directory via the GUI, it fails:
20250704-2130-36.6605470.mp4
-
If I manually enter it via the CLI, it succeeds, but I see nothing inside:
#!/usr/bin/env pwsh #Requires -PSEdition Core #Requires -Version 7.6 files-preview '\\wsl.localhost\fedoraremix\mnt\rjlb\fedora\home\RokeJulianLockhart\pathmax_openat_test\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'
This applies if I (attempt to) enter its subdirectory, too.
-
Regardless of how I enter it, the context menu doesn't render any entries:
This is merely the generic failure state for a
wsl
mount, though: this is also erroneously displayed when I attempt to access awsl
mount's path despitewsl
haveing been--shutdown
. This warrants a separate issue, but I can't be bothered to file one.
-
-
The Proposed Solution
I'm not requesting that accessing such paths become possible, because, as
bugreports.qt.io/browse/QTBUG-138251
andforum.qt.io/post/828516
well explain, the solutions would probably require some serious co-ordination with WSL. All that I do request is that a banner be implemented which explains to the user that the maximum Linux path limit has been reached, and any files or directories past this limit may be inaccessible, but have not been deleted.
Steps To Reproduce
-
In a BTRFS filesystem, create a path longer than
linux/limits.h
'sPATH_MAX
. Usually, the default is 4096 characters.This is easiest when utilising a real Linux OS, but should be possible if you can install Qt 6 on WSL, 1 2 because Qt 6 is what my >
PATH_MAX
path generator utilises.To accomplish this on a real Linux OS, download
pathmax.zip
3 (don't worry; it contains source alongside binaries):├── CMakeLists.txt ├── fdviewer ├── fdviewer.pro ├── Makefile ├── path_generator_openat ├── path_generator_openat.cpp ├── path_generator_openat.o ├── path_generator_openat.pro ├── pathmax_fdviewer.cpp ├── pathmax_fdviewer.o ├── pathmax_qfilesystemmodel.cpp ├── pathmax_qfilesystemmodel.o ├── pro.sh ├── qfilesystemmodel_test └── qfilesystemmodel_test.pro 1 directory, 15 files
Then, invoke:
#!/usr/bin/env sh path_generator_openat "$HOME/path_generator_openat" && \ fdviewer
fdviewer
spawns a Qt-based GUI to confirm that path generation succeeded. You'll need to introspect approximately 16 directories deep to confirm; until you seedeepfile.txt
, anyway. It should solely require PT30S or so. -
Install the
.MSIXBundle
fromWhitewaterFoundry/Fedora-Remix-for-WSL/releases/tag/42.0.5
:#!/usr/bin/env pwsh #Requires -PSEdition Core #Requires -Version 7.6 If ($IsWindows) { Add-AppxPackage -Path "$LocationToMSIX" } # Usually, `$Env:UserProfile/Downloads`.
-
On the host, execute the undermentioned:
#!/usr/bin/env pwsh #Requires -PSEdition Core If ($IsWindows) { wmic diskdrive list brief }
-
When the correct filesystem has been identified:
#!/usr/bin/env pwsh #Requires -PSEdition Core If ($IsWindows) { sudo wsl --mount \\.\PHYSICALDRIVE1 --bare }
-
Likewise, on WSL:
#!/usr/bin/env sh sudo lsblk -o NAME,FSTYPE,FSVER,FSAVAIL,MOUNTPOINTS
This shall return output similar to the undermentioned:
NAME FSTYPE FSVER FSAVAIL MOUNTPOINTS sda ext4 1.0 sdb ext4 1.0 sdc swap 1 [SWAP] sdd ext4 1.0 954.6G /mnt/wslg/distro / sde ├─sde1 vfat FAT32 ├─sde2 ext4 1.0 ├─sde3 ext4 1.0 └─sde4 btrfs 1.2T /mnt/rjlb/fedora
Utilise the output to confirm that the device has been mounted into
wsl
, then set its path as$dev_id
, and define a mount point at$path
. -
When the correct filesystem has been identified:
#!/usr/bin/env sh sudo mkdir /mnt/$path && \ sudo mount -t btrfs -o ro /dev/$dev_id /mnt/$path
Files Version
3.9.10.0
Windows Version
10.0.26120.0
User ID
353b71b8-86f9-4fe0-ac0e-e1da114b9349
Log File
Footnotes
Metadata
Metadata
Assignees
Labels
Type
Projects
Status