https://bugs.kde.org/show_bug.cgi?id=507493

            Bug ID: 507493
           Summary: Folder custom icons are ignored on bcachefs file
                    system
    Classification: Frameworks and Libraries
           Product: frameworks-kio
      Version First 6.16.0
       Reported In:
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: minor
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

Created attachment 183515
  --> https://bugs.kde.org/attachment.cgi?id=183515&action=edit
Folder with and without a custom icon

SUMMARY
If a folder is situated on a bcachefs partition its icon in Dolphin will not
display a custom icon set in the `.directory` file.

STEPS TO REPRODUCE
1. Setup the environment.
> $ touch fs && truncate fs --size 128M && mkfs.bcachefs fs && sudo mount fs 
> /mnt && sudo chown $USER:$USER /mnt && mkdir /mnt/folder && printf '[Desktop 
> Entry]\nIcon=folder-games\n' > /mnt/folder/.directory
2. Open the Dolphin file manager.
3. Open the `/mnt` directory.

OBSERVED RESULT
Icon of `/mnt/folder` keeps its stock appearance.

EXPECTED RESULT
Icon of `/mnt/folder` changes to the one set in the `.directory` file.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.4.3
KDE Frameworks Version: 6.16.0
Qt Version: 6.9.1
Kernel Version: 6.15.7-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 5600G with Radeon Graphics
Memory: 32 GiB of RAM (27.3 GiB usable)
Graphics Processor: AMD Radeon Graphics

ADDITIONAL INFORMATION
The cause of this bug is a file size check at
https://invent.kde.org/frameworks/kio/-/blob/v6.16.0/src/core/>
kfileitem.cpp?ref_type=tags#L1020
> static bool isDirectoryMounted(const QUrl &url)
> {
>     // Stating .directory files can cause long freezes when e.g. /home
>     // uses autofs for every user's home directory, i.e. opening /home
>     // in a file dialog will mount every single home directory.
>     // These non-mounted directories can be identified by having 0 size.
>     // There are also other directories with 0 size, such as /proc, that may
>     // be mounted, but those are unlikely to contain .directory (and checking
>     // this would require checking with KMountPoint).
> 
>     // TODO: maybe this could be checked with KFileSystemType instead?
>     QFileInfo info(url.toLocalFile());
>     if (info.isDir() && info.size() == 0) {
>         return false;
>     }
>     return true;
> }
It seems on bcachefs stat'ing any folder results in the reported size always
being 0.
> $ stat /mnt/folder
>   File: /mnt/folder
>   Size: 0               Blocks: 0          IO Block: 4096   directory
> Device: 253,0   Inode: 74608       Links: 2
> Access: (0755/drwxr-xr-x)  Uid: ( 1000/   user)   Gid: ( 1000/   group)
> Access: 2025-07-25 XX:XX:XX.XXXXXXXXX -XXXX
> Modify: 2025-07-25 XX:XX:XX.XXXXXXXXX +XXXX
> Change: 2025-07-25 XX:XX:XX.XXXXXXXXX -XXXX
>  Birth: 2025-07-25 XX:XX:XX.XXXXXXXXX +XXXX
Replacing the above size check with `return true` makes the Dolphin file manger
respect the icon set in the `.directory` file.

As the check still remains unchanged in the master branch
(f60be14b9ed1b90273d1ef9e2ed145afdd3db6e9) the bug should certainly remain
unresolved.

This bug may be a duplicate of Bug 406541, which was marked RESOLVED due to
inactivity.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to