)]}'
{
  "commit": "cb6395cd4c3505e21099fa25868e912ca71e6e6e",
  "tree": "4bce843fb68d144e3d9e8f07ecf9f15e80e58949",
  "parents": [
    "9049e3ba342896baddbc57a2a415d3cc1edb1934"
  ],
  "author": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Wed Jul 29 12:56:34 2026 +0100"
  },
  "committer": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Fri Sep 11 21:38:01 2026 +0100"
  },
  "message": "cachefiles: Preset the state xattr when creating a new file\n\nWith a really small cache, cachefiles is likely to see a lot of writes\nhitting ENOSPC - and this can include setxattr that sets the state xattr on\na cachefile - but we don\u0027t really want to successfully fill a cache file\nonly to have to scrap it because we can\u0027t set the xattr.\n\nInstead, preset the xattr when we create the tmpfile we\u0027re going to use,\nand scrap the file at that point if we get ENOSPC.  Only if setxattr\nsucceeds do we allow data to be written to the file.\n\nNote that there is a potential performance loss in that writes to the cache\nhave to be delayed until this is completed - but we do the tmpfile/setxattr\nin parallel, starting when the file is opened and only have to wait once\nwriteback occurs.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Paulo Alcantara \u003cpc@manguebit.org\u003e\ncc: Marc Dionne \u003cmarc.dionne@auristor.com\u003e\ncc: netfs@lists.linux.dev\ncc: linux-fsdevel@vger.kernel.org\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b2605111fd56425de24f11488390e3feb2457dbf",
      "old_mode": 33188,
      "old_path": "fs/cachefiles/internal.h",
      "new_id": "664be64ab5384bee023e361efeb57da5ef78de3a",
      "new_mode": 33188,
      "new_path": "fs/cachefiles/internal.h"
    },
    {
      "type": "modify",
      "old_id": "ca093840e5774dc65e21aaf6e2a79cf0c5ff71e8",
      "old_mode": 33188,
      "old_path": "fs/cachefiles/namei.c",
      "new_id": "ef656a319ede2e691db0a26467ba76e61ba58049",
      "new_mode": 33188,
      "new_path": "fs/cachefiles/namei.c"
    },
    {
      "type": "modify",
      "old_id": "551a3b0069c211f347ce3becf762e91f49de2955",
      "old_mode": 33188,
      "old_path": "fs/cachefiles/xattr.c",
      "new_id": "068e2c14e8948161070fb5d9d074aecaa77e4e95",
      "new_mode": 33188,
      "new_path": "fs/cachefiles/xattr.c"
    }
  ]
}
