git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 6/7] fsmonitor: update doc for Linux

From
Eric DeCosta via GitGitGadget <gitgitgadget@gmail.com>
Date
Feb 15, 2024, 10:29 UTC
Message-ID
<02aee716a0ed83bef55eadc04ed5d8f9c0ac2c03.1707992978.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1667.git.git.1707992978.gitgitgadget@gmail.com>
From: Eric DeCosta <edecosta@mathworks.com>
Update the documentation for Linux.
Signed-off-by: Eric DeCosta <edecosta@mathworks.com>
---
 Documentation/config/fsmonitor--daemon.txt |  4 ++--
 Documentation/git-fsmonitor--daemon.txt    | 26 ++++++++++++++--------
 2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/Documentation/config/fsmonitor--daemon.txt b/Documentation/config/fsmonitor--daemon.txt
index 671f9b94628..4ca92536286 100644
--- a/Documentation/config/fsmonitor--daemon.txt
+++ b/Documentation/config/fsmonitor--daemon.txt
@@ -4,8 +4,8 @@ fsmonitor.allowRemote::
     behavior.  Only respected when `core.fsmonitor` is set to `true`.
 
 fsmonitor.socketDir::
-    This Mac OS-specific option, if set, specifies the directory in
+    Mac OS and Linux-specific option. If set, specifies the directory in
     which to create the Unix domain socket used for communication
     between the fsmonitor daemon and various Git commands. The directory must
-    reside on a native Mac OS filesystem.  Only respected when `core.fsmonitor`
+    reside on a native filesystem.  Only respected when `core.fsmonitor`
     is set to `true`.
diff --git a/Documentation/git-fsmonitor--daemon.txt b/Documentation/git-fsmonitor--daemon.txt
index 8585d19f4d8..ebdc4aec3c0 100644
--- a/Documentation/git-fsmonitor--daemon.txt
+++ b/Documentation/git-fsmonitor--daemon.txt
@@ -76,23 +76,31 @@ repositories; this may be overridden by setting `fsmonitor.allowRemote` to
 correctly with all network-mounted repositories, so such use is considered
 experimental.
 
-On Mac OS, the inter-process communication (IPC) between various Git
+On Linux and Mac OS, the inter-process communication (IPC) between various Git
 commands and the fsmonitor daemon is done via a Unix domain socket (UDS) -- a
-special type of file -- which is supported by native Mac OS filesystems,
-but not on network-mounted filesystems, NTFS, or FAT32.  Other filesystems
-may or may not have the needed support; the fsmonitor daemon is not guaranteed
-to work with these filesystems and such use is considered experimental.
+special type of file -- which is supported by many native Linux and Mac OS
+filesystems, but not on network-mounted filesystems, NTFS, or FAT32.  Other
+filesystems may or may not have the needed support; the fsmonitor daemon is not
+guaranteed to work with these filesystems and such use is considered
+experimental.
 
 By default, the socket is created in the `.git` directory.  However, if the
 `.git` directory is on a network-mounted filesystem, it will instead be
 created at `$HOME/.git-fsmonitor-*` unless `$HOME` itself is on a
-network-mounted filesystem, in which case you must set the configuration
-variable `fsmonitor.socketDir` to the path of a directory on a Mac OS native
+network-mounted filesystem in which case you must set the configuration
+variable `fsmonitor.socketDir` to the path of a directory on a native
 filesystem in which to create the socket file.
 
 If none of the above directories (`.git`, `$HOME`, or `fsmonitor.socketDir`)
-is on a native Mac OS file filesystem the fsmonitor daemon will report an
-error that will cause the daemon and the currently running command to exit.
+is on a native Linux or Mac OS filesystem the fsmonitor daemon will report
+an error that will cause the daemon to exit and the currently running command
+to issue a warning.
+
+On Linux, the fsmonitor daemon registers a watch for each directory in the
+repository.  The default per-user limit for the number of watches on most Linux
+systems is 8192.  This may not be sufficient for large repositories or if
+multiple instances of the fsmonitor daemon are running.
+See https://watchexec.github.io/docs/inotify-limits.html[Linux inotify limits] for more information.
 
 CONFIGURATION
 -------------
-- 
gitgitgadget
Previous: Eric DeCosta via GitGitGadgetNext: marzi.esipreh via GitGitGadget
Message 11 of 14 in “fsmonitor: completing a stale patch that Implements fsmonitor for Linux”
  1. 0/7 fsmonitor: completing a stale patch that Implements fsmonitor for Linuxmarzi via GitGitGadget, Feb 15, 2024
  2. 1/7 fsmonitor: rebase with masterEric DeCosta via GitGitGadget, Feb 15, 2024
  3. Patrick SteinhardtFeb 15, 2024
  4. 2/7 fsmonitor: determine if filesystem is local or remoteEric DeCosta via GitGitGadget, Feb 15, 2024
  5. Jean-Noël AvilaFeb 15, 2024
  6. Patrick SteinhardtFeb 15, 2024
  7. 3/7 fsmonitor: implement filesystem change listener for LinuxEric DeCosta via GitGitGadget, Feb 15, 2024
  8. Patrick SteinhardtFeb 15, 2024
  9. 4/7 fsmonitor: enable fsmonitor for LinuxEric DeCosta via GitGitGadget, Feb 15, 2024
  10. 5/7 fsmonitor: test updatesEric DeCosta via GitGitGadget, Feb 15, 2024
  11. 6/7 fsmonitor: update doc for LinuxEric DeCosta via GitGitGadget, Feb 15, 2024
  12. 7/7 fsmonitor: addressed comments for patch 1352marzi.esipreh via GitGitGadget, Feb 15, 2024
  13. Patrick SteinhardtFeb 15, 2024
  14. 0/7 fsmonitor: completing a stale patch that Implements fsmonitor for LinuxManoraj K, Jan 31, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.