)]}'
{
  "log": [
    {
      "commit": "2c7387ef9969bb073c25ecbdcc5be30770267b16",
      "tree": "21025658ae17a84b0df346b589eb6c986c6f599d",
      "parents": [
        "1deb9c5dfb179819ecdbf80a1d121e26c63caab3"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 28 16:07:07 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon Nov 01 15:31:29 2010 -0400"
      },
      "message": "asm-generic/stat.h: support 64-bit file time_t for stat()\n\nThe existing asm-generic/stat.h specifies st_mtime, etc., as a 32-value,\nand works well for 32-bit architectures (currently microblaze, score,\nand 32-bit tile).  However, for 64-bit architectures it isn\u0027t sufficient\nto return 32 bits of time_t; this isn\u0027t good insurance against the 2037\nrollover.  (It also makes glibc support less convenient, since we can\u0027t\nuse glibc\u0027s handy STAT_IS_KERNEL_STAT mode.)\n\nThis change extends the two \"timespec\" fields for each of the three atime,\nmtime, and ctime fields from \"int\" to \"long\".  As a result, on 32-bit\nplatforms nothing changes, and 64-bit platforms will now work as expected.\n\nThe only wrinkle is 32-bit userspace under 64-bit kernels taking advantage\nof COMPAT mode.  For these, we leave the \"struct stat64\" definitions with\nthe \"int\" versions of the time_t and nsec fields, so that architectures\ncan implement compat_sys_stat64() and friends with sys_stat64(), etc.,\nand get the expected 32-bit structure layout.  This requires a\nfield-by-field copy in the kernel, implemented by the code guarded\nunder __ARCH_WANT_STAT64.\n\nThis does mean that the shape of the \"struct stat\" and \"struct stat64\"\nstructures is different on a 64-bit kernel, but only one of the two\nstructures should ever be used by any given process: \"struct stat\"\nis meant for 64-bit userspace only, and \"struct stat64\" for 32-bit\nuserspace only.  (On a 32-bit kernel the two structures continue to have\nthe same shape, since \"long\" is 32 bits.)\n\nThe alternative is keeping the two structures the same shape on 64-bit\nkernels, which means a 64-bit time_t in \"struct stat64\" for 32-bit\nprocesses.  This is a little unnatural since 32-bit userspace can\u0027t\ndo anything with 64 bits of time_t information, since time_t is just\n\"long\", not \"int64_t\"; and in any case 32-bit userspace might expect\nto be running under a 32-bit kernel, which can\u0027t provide the high 32\nbits anyway.  In the case of a 32-bit kernel we\u0027d then be extending the\nkernel\u0027s 32-bit time_t to 64 bits, then truncating it back to 32 bits\nagain in userspace, for no particular reason.  And, as mentioned above,\nif we have 64-bit time_t for 32-bit processes we can\u0027t easily use glibc\u0027s\nSTAT_IS_KERNEL_STAT, since glibc\u0027s stat structure requires an embedded\n\"struct timespec\", which is a pair of \"long\" (32-bit) values in a 32-bit\nuserspace.  \"Inventive\" solutions are possible, but are pretty hacky.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "6103ec56c65c33774c7c38652c8204120c3c7519",
      "tree": "5d510da8f5aeb46b796a27192b04eec99d375886",
      "parents": [
        "2864d32be31a20a4617e37a857dd9915a57e2efb"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed May 13 22:56:27 2009 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@klappe2.(none)",
        "time": "Thu Jun 11 21:02:15 2009 +0200"
      },
      "message": "asm-generic: add generic ABI headers\n\nThese header files are typically copied from an existing architecture\ninto any new one, slightly modified and then remain untouched until\nthe end of time in the name of ABI stability.\n\nTo make it easier for future architectures, provide a sane generic\nversion here. In cases where multiple architectures already use\nidentical code, I used the most common version. In cases like\nstat.h that are more or less broken everywhere, I provide a\nversion that is meant to be ideal for new architectures.\n\nSigned-off-by: Remis Lima Baima \u003cremis.developer@googlemail.com\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    }
  ]
}
