)]}'
{
  "commit": "412d582ec1dd59aab2353f8cb7e74f2c79cd20b9",
  "tree": "9088c5e29cbd4b33e907a7b5f9a950dd0dce36c1",
  "parents": [
    "5529680981807b44abf3be30fb6d612ff04f68ff"
  ],
  "author": {
    "name": "Chuck Lever",
    "email": "cel@citi.umich.edu",
    "time": "Thu Aug 18 11:24:11 2005 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Thu Aug 18 12:53:56 2005 -0700"
  },
  "message": "[PATCH] NFS: use atomic bitops to manipulate flags in nfsi-\u003eflags\n\nIntroduce atomic bitops to manipulate the bits in the nfs_inode structure\u0027s\n\"flags\" field.\n\nUsing bitops means we can use a generic wait_on_bit call instead of an ad hoc\nlocking scheme in fs/nfs/inode.c, so we can remove the \"nfs_i_wait\" field from\nnfs_inode at the same time.\n\nThe other new flags field will continue to use bitmask and logic AND and OR.\nThis permits several flags to be set at the same time efficiently.  The\nfollowing patch adds a spin lock to protect these flags, and this spin lock\nwill later cover other fields in the nfs_inode structure, amortizing the cost\nof using this type of serialization.\n\nTest plan:\n Millions of fsx ops on SMP clients.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5732e13cd0da5f8eb891658cdb4adecb8efa2448",
      "old_mode": 33188,
      "old_path": "fs/nfs/dir.c",
      "new_id": "27cf5577f239f04206a44ff8bfc8113c328f58b9",
      "new_mode": 33188,
      "new_path": "fs/nfs/dir.c"
    },
    {
      "type": "modify",
      "old_id": "6221845535166a721485f6cf021a07b75f223bbd",
      "old_mode": 33188,
      "old_path": "fs/nfs/inode.c",
      "new_id": "ee27578277f3ebf8c17607744791ed56b73e85db",
      "new_mode": 33188,
      "new_path": "fs/nfs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "229a1755842a428c047eb07f0277dce4557e8fc3",
      "old_mode": 33188,
      "old_path": "include/linux/nfs_fs.h",
      "new_id": "deef9567788aa7ed9a78a39117b472c045b97e1e",
      "new_mode": 33188,
      "new_path": "include/linux/nfs_fs.h"
    }
  ]
}
