Overzealous ignoring of directories during library scan #8057

Open
opened 2026-02-07 05:34:49 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @thatsatoffee on GitHub (Jan 21, 2026).

Description of the bug

After upgrading to 10.11.6, my library at a location like /home/jellyfin/.media/video/movies is no longer scanned.

Reproduction steps

  1. Add a library at a location that is nested in a unix-style hidden directory (like /path/to/.hidden/library/location)
  2. Scan the library

What is the current bug behavior?

No files in the library are indexed; the directory is ignored entirely.

What is the expected correct behavior?

The library should be scanned at all points where there is no .ignore file.

Jellyfin Server version

10.11.6

Specify commit id

No response

Specify unstable release number

No response

Specify version number

No response

Specify the build version

10.11.6

Environment

- OS: Alpine Linux (server)
- Linux Kernel: 6.8.12-4-pve
- Virtualization: Docker
- Jellyfin Data Storage & Filesystem: RAID on local SATA HDDs bind-mounted at specific locations in Docker
- Media Storage & Filesystem: See above

Jellyfin logs

[2026-01-21 08:47:21.857 +00:00] [INF] [44] Emby.Server.Implementations.IO.LibraryMonitor: Stopping directory watching for path "/home/jellyfin/.media/video/movies"
[2026-01-21 08:47:21.857 +00:00] [INF] [44] Emby.Server.Implementations.Library.LibraryManager: Validating media library
[2026-01-21 08:47:21.894 +00:00] [WRN] [44] MediaBrowser.Controller.Entities.BaseItem: Library folder "/config/data/playlists" is inaccessible or empty, skipping
[2026-01-21 08:47:21.955 +00:00] [WRN] [44] MediaBrowser.Controller.Entities.BaseItem: Library folder "/config/data/playlists" is inaccessible or empty, skipping
[2026-01-21 08:47:30.002 +00:00] [INF] [44] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Scan Media Library" Completed after 0 minute(s) and 8 seconds
[2026-01-21 08:47:30.141 +00:00] [INF] [40] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory "/home/jellyfin/.media/video/movies"

FFmpeg logs


Client / Browser logs

No response

Relevant screenshots or videos

No response

Additional information

I believe to have located the source of this behaviour in PR #16029.

My libraries are in locations like this: /home/jellyfin/.media/video/movies. According to this comment, files in locations like /path/to/.hiddenlibrary were not scanned after some commit; however, my setup does not have the hidden directory at the end but somewhere in the middle (/path/to/.hidden/library/location) and was scanned before 11.10.6.

This is probably caused by a newly added ignore pattern: c9b7c5bb56/Emby.Server.Implementations/Library/IgnorePatterns.cs (L86)

This is not documented behaviour in any case; per the documentation, only .ignore files should decide which directories and/or files are ignored during scans.

While reviewing IgnorePatterns.cs, I noticed a lot of sensible exclusions. I believe, however, that ignoring all hidden unix directories does not serve the same goal as ignoring, say, **/.zfs (and **/.zfs/**) specifically.

I also propose adding warnings to the log if the library path itself (rather than files within it) already matches an ignore mechanism (directories such as those in IngorePatterns.cs or due to having an empty .ignore file at the root).

Originally created by @thatsatoffee on GitHub (Jan 21, 2026). ### Description of the bug After upgrading to 10.11.6, my library at a location like `/home/jellyfin/.media/video/movies` is no longer scanned. ### Reproduction steps 1. Add a library at a location that is nested in a unix-style hidden directory (like `/path/to/.hidden/library/location`) 2. Scan the library ### What is the current _bug_ behavior? No files in the library are indexed; the directory is ignored entirely. ### What is the expected _correct_ behavior? The library should be scanned at all points where there is no `.ignore` file. ### Jellyfin Server version 10.11.6 ### Specify commit id _No response_ ### Specify unstable release number _No response_ ### Specify version number _No response_ ### Specify the build version 10.11.6 ### Environment ```markdown - OS: Alpine Linux (server) - Linux Kernel: 6.8.12-4-pve - Virtualization: Docker - Jellyfin Data Storage & Filesystem: RAID on local SATA HDDs bind-mounted at specific locations in Docker - Media Storage & Filesystem: See above ``` ### Jellyfin logs ```shell [2026-01-21 08:47:21.857 +00:00] [INF] [44] Emby.Server.Implementations.IO.LibraryMonitor: Stopping directory watching for path "/home/jellyfin/.media/video/movies" [2026-01-21 08:47:21.857 +00:00] [INF] [44] Emby.Server.Implementations.Library.LibraryManager: Validating media library [2026-01-21 08:47:21.894 +00:00] [WRN] [44] MediaBrowser.Controller.Entities.BaseItem: Library folder "/config/data/playlists" is inaccessible or empty, skipping [2026-01-21 08:47:21.955 +00:00] [WRN] [44] MediaBrowser.Controller.Entities.BaseItem: Library folder "/config/data/playlists" is inaccessible or empty, skipping [2026-01-21 08:47:30.002 +00:00] [INF] [44] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Scan Media Library" Completed after 0 minute(s) and 8 seconds [2026-01-21 08:47:30.141 +00:00] [INF] [40] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory "/home/jellyfin/.media/video/movies" ``` ### FFmpeg logs ```shell ``` ### Client / Browser logs _No response_ ### Relevant screenshots or videos _No response_ ### Additional information I believe to have located the source of this behaviour in PR #16029. My libraries are in locations like this: `/home/jellyfin/.media/video/movies`. According to [this comment](https://github.com/jellyfin/jellyfin/pull/16029/commits/53a1904db850cac631e9059ff7b54c4d19206cd9#r2695462832), files in locations like `/path/to/.hiddenlibrary` were not scanned after some commit; however, my setup does not have the hidden directory at the end but somewhere in the middle (`/path/to/.hidden/library/location`) and was scanned before 11.10.6. This is probably caused by a newly added ignore pattern: https://github.com/jellyfin/jellyfin/blob/c9b7c5bb5665d2eb02381fa12dcce786fee9ae3d/Emby.Server.Implementations/Library/IgnorePatterns.cs#L86 This is not documented behaviour in any case; [per the documentation](https://jellyfin.org/docs/general/server/media/excluding-directory/), only `.ignore` files should decide which directories and/or files are ignored during scans. While reviewing [`IgnorePatterns.cs`](https://github.com/jellyfin/jellyfin/blob/fd71adfba9ba456806b5bdd7676d9f53bd19e9a8/Emby.Server.Implementations/Library/IgnorePatterns.cs), I noticed a lot of sensible exclusions. I believe, however, that ignoring all hidden unix directories does not serve the same goal as ignoring, say, `**/.zfs` (and `**/.zfs/**`) specifically. I also propose adding warnings to the log if the library path itself (rather than files within it) already matches an ignore mechanism (directories such as those in `IngorePatterns.cs` or due to having an empty `.ignore` file at the root).
OVERLORD added the bugconfirmedregression labels 2026-02-07 05:34:49 +03:00
Author
Owner

@thatsatoffee commented on GitHub (Jan 21, 2026):

Also see 11d5410dbb, where the ignoring of dotdirectories was explicitly removed.

@thatsatoffee commented on GitHub (Jan 21, 2026): Also see https://github.com/jellyfin/jellyfin/commit/11d5410dbb2df9e6c4e5ad5de4cc5db741014c09, where the ignoring of dotdirectories was explicitly removed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#8057