)]}'
{
  "commit": "50ac2d694f2dd1658341cf97bcf2ffb836d772cb",
  "tree": "c4466ecb7c5211ee9423380783f00027411d5d5a",
  "parents": [
    "dd763460eb628b57814251a15a39f8d75c044d76"
  ],
  "author": {
    "name": "Alexey Dobriyan",
    "email": "adobriyan@gmail.com",
    "time": "Tue Aug 12 15:09:02 2008 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Aug 12 16:07:30 2008 -0700"
  },
  "message": "seq_file: add seq_cpumask(), seq_nodemask()\n\nShort enough reads from /proc/irq/*/smp_affinity return -EINVAL for no\ngood reason.\n\nThis became noticed with NR_CPUS\u003d4096 patches, when length of printed\nrepresentation of cpumask becase 1152, but cat(1) continued to read with\n1024-byte chunks.  bitmap_scnprintf() in good faith fills buffer, returns\n1023, check returns -EINVAL.\n\nFix it by switching to seq_file, so handler will just fill buffer and\ndoesn\u0027t care about offsets, length, filling EOF and all this crap.\n\nFor that add seq_bitmap(), and wrappers around it -- seq_cpumask() and\nseq_nodemask().\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nReviewed-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3f54dbd6c49b0c28506505bc41f99f20472fba8f",
      "old_mode": 33188,
      "old_path": "fs/seq_file.c",
      "new_id": "5d54205e486b6d9351840f768829a3e94d28bf23",
      "new_mode": 33188,
      "new_path": "fs/seq_file.c"
    },
    {
      "type": "modify",
      "old_id": "1abfe664c4446a9a64ea182ce680e6c08d1a3086",
      "old_mode": 33188,
      "old_path": "include/linux/bitmap.h",
      "new_id": "89781fd48859bb957bbaafabce4c87ad0affd2a0",
      "new_mode": 33188,
      "new_path": "include/linux/bitmap.h"
    },
    {
      "type": "modify",
      "old_id": "a66304a09955b0d36e7b7f67193657a444355e77",
      "old_mode": 33188,
      "old_path": "include/linux/seq_file.h",
      "new_id": "a1783b229ef4c219081fc7200fcdc5dd63c267e4",
      "new_mode": 33188,
      "new_path": "include/linux/seq_file.h"
    },
    {
      "type": "modify",
      "old_id": "482df94ea21eb3e9ab7b2ef4efe88643147c3d80",
      "old_mode": 33188,
      "old_path": "lib/bitmap.c",
      "new_id": "06fb57c86de07007dad10f4bbeb3b1adcc0742c4",
      "new_mode": 33188,
      "new_path": "lib/bitmap.c"
    }
  ]
}
