)]}'
{
  "commit": "acaefc25d21f850e47ecc5098d1e0bc442c526be",
  "tree": "fbc7aa605c71667507b54d3b3320f9a999458dd4",
  "parents": [
    "4109aca06cb7b042ea791d0f9d3c9615bc3bf5cd"
  ],
  "author": {
    "name": "Arnd Bergmann",
    "email": "arnd@arndb.de",
    "time": "Wed May 18 14:40:59 2005 +0200"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Mon Jun 20 15:15:30 2005 -0700"
  },
  "message": "[PATCH] libfs: add simple attribute files\n\nBased on the discussion about spufs attributes, this is my suggestion\nfor a more generic attribute file support that can be used by both\ndebugfs and spufs.\n\nSimple attribute files behave similarly to sequential files from\na kernel programmers perspective in that a standard set of file\noperations is provided and only an open operation needs to\nbe written that registers file specific get() and set() functions.\n\nThese operations are defined as\n\nvoid foo_set(void *data, u64 val); and\nu64 foo_get(void *data);\n\nwhere data is the inode-\u003eu.generic_ip pointer of the file and the\noperations just need to make send of that pointer. The infrastructure\nmakes sure this works correctly with concurrent access and partial\nread calls.\n\nA macro named DEFINE_SIMPLE_ATTRIBUTE is provided to further simplify\nusing the attributes.\n\nThis patch already contains the changes for debugfs to use attributes\nfor its internal file operations.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "548556ff250609677019712bbc066ef018bea107",
      "old_mode": 33188,
      "old_path": "fs/debugfs/file.c",
      "new_id": "efc97d9b78604d040ba12ae9b1e418a6f9818534",
      "new_mode": 33188,
      "new_path": "fs/debugfs/file.c"
    },
    {
      "type": "modify",
      "old_id": "f90b29595927e206c6fa4cee6e6ae796c509ce28",
      "old_mode": 33188,
      "old_path": "fs/libfs.c",
      "new_id": "5025563e7379675b7df2834427aabb0800f4b740",
      "new_mode": 33188,
      "new_path": "fs/libfs.c"
    },
    {
      "type": "modify",
      "old_id": "0180102dace1ef28edcd1de1199cfe65f3ba8499",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "9b8b696d4f150a52b72dfb1addc673168ebd421b",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    }
  ]
}
