)]}'
{
  "log": [
    {
      "commit": "805f6b5e1cbfedfb9b3d354013e7f4b13a79270f",
      "tree": "73b3380e28c642418a0fa3e5f1da9990919325b5",
      "parents": [
        "4c63f5646e405b5010cc9499419060bf2e838f5b"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Fri Mar 11 20:11:59 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Mar 11 20:11:59 2011 +0100"
      },
      "message": "blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n\nIn blk_add_trace_rq, we only chose the minor 2 bits from\nrequest\u0027s cmd_flags and did some check for discard.\nso most of other flags(e.g, REQ_SYNC) are missing.\n\nFor example, with a sync write after blkparse we get:\n  8,16   1        1     0.001776503  7509  A  WS 1349632 + 1024 \u003c- (8,17) 1347584\n  8,16   1        2     0.001776813  7509  Q  WS 1349632 + 1024 [dd]\n  8,16   1        3     0.001780395  7509  G  WS 1349632 + 1024 [dd]\n  8,16   1        5     0.001783186  7509  I   W 1349632 + 1024 [dd]\n  8,16   1       11     0.001816987  7509  D   W 1349632 + 1024 [dd]\n  8,16   0        2     0.006218192     0  C   W 1349632 + 1024 [0]\n\nSince now we have integrated the flags of both bio and request,\nit is safe to pass rq-\u003ecmd_flags directly to __blk_add_trace.\n\nWith this patch, after a sync write we get:\n  8,16   1        1     0.001776900  5425  A  WS 1189888 + 1024 \u003c- (8,17) 1187840\n  8,16   1        2     0.001777179  5425  Q  WS 1189888 + 1024 [dd]\n  8,16   1        3     0.001780797  5425  G  WS 1189888 + 1024 [dd]\n  8,16   1        5     0.001783402  5425  I  WS 1189888 + 1024 [dd]\n  8,16   1       11     0.001817468  5425  D  WS 1189888 + 1024 [dd]\n  8,16   0        2     0.005640709     0  C  WS 1189888 + 1024 [0]\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nAcked-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "2d3a8497f8cc5aca14b722cd37d51f6c15ff9f74",
      "tree": "2e0013fdc1eec486a425e666a885b04a1c37befb",
      "parents": [
        "255bb490c8c27eed484d538efe6ef6a7473bd3f6"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Mar 03 10:53:20 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 03 10:53:20 2011 -0500"
      },
      "message": "blktrace: Remove blk_fill_rwbs_rq.\n\nIf we enable trace events to trace block actions, We use\nblk_fill_rwbs_rq to analyze the corresponding actions\nin request\u0027s cmd_flags, but we only choose the minor 2 bits\nfrom it, so most of other flags(e.g, REQ_SYNC) are missing.\nFor example, with a sync write we get:\nwrite_test-2409  [001]   160.013869: block_rq_insert: 3,64 W 0 () 258135 + \u003d\n8 [write_test]\n\nSince now we have integrated the flags of both bio and request,\nit is safe to pass rq-\u003ecmd_flags directly to blk_fill_rwbs and\nblk_fill_rwbs_rq isn\u0027t needed any more.\n\nWith this patch, after a sync write we get:\nwrite_test-2417  [000]   226.603878: block_rq_insert: 3,64 WS 0 () 258135 +\u003d\n 8 [write_test]\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nAcked-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "490da40d82b31c0562d3f5edb37810f492ca1c34",
      "tree": "6a5c05af9171044aa95b603ceb8346883139ca56",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Jan 19 10:51:44 2011 +0800"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Jan 19 08:25:02 2011 -0700"
      },
      "message": "blktrace: Don\u0027t output messages if NOTIFY isn\u0027t set.\n\nNow if we enable blktrace, cfq has too many messages output to the\ntrace buffer. It is fine if we don\u0027t specify any action mask.\nBut if I do like this:\nblktrace /dev/sdb -a issue -a complete -o - | blkparse -i -\nI only want to see \u0027D\u0027 and \u0027C\u0027, while with the following command\ndd if\u003d/mnt/ocfs2/test of\u003d/dev/null bs\u003d4k count\u003d1 iflag\u003ddirect\n\nI will get(with a 2.6.37 vanilla kernel):\n  8,16   0        0     0.000000000     0  m   N cfq3805 alloced\n  8,16   0        0     0.000004126     0  m   N cfq3805 insert_request\n  8,16   0        0     0.000004884     0  m   N cfq3805 add_to_rr\n  8,16   0        0     0.000008417     0  m   N cfq workload slice:300\n  8,16   0        0     0.000009557     0  m   N cfq3805 set_active wl_prio:0 wl_type:2\n  8,16   0        0     0.000010640     0  m   N cfq3805 fifo\u003d          (null)\n  8,16   0        0     0.000011193     0  m   N cfq3805 dispatch_insert\n  8,16   0        0     0.000012221     0  m   N cfq3805 dispatched a request\n  8,16   0        0     0.000012802     0  m   N cfq3805 activate rq, drv\u003d1\n  8,16   0        1     0.000013181  3805  D   R 114759 + 8 [dd]\n  8,16   0        2     0.000164244     0  C   R 114759 + 8 [0]\n  8,16   0        0     0.000167997     0  m   N cfq3805 complete rqnoidle 0\n  8,16   0        0     0.000168782     0  m   N cfq3805 set_slice\u003d100\n  8,16   0        0     0.000169874     0  m   N cfq3805 arm_idle: 8 group_idle: 0\n  8,16   0        0     0.000170189     0  m   N cfq schedule dispatch\n  8,16   0        0     0.000397938     0  m   N cfq3805 slice expired t\u003d0\n  8,16   0        0     0.000399763     0  m   N cfq3805 sl_used\u003d1 disp\u003d1 charge\u003d1 iops\u003d0 sect\u003d8\n  8,16   0        0     0.000400227     0  m   N cfq3805 del_from_rr\n  8,16   0        0     0.000400882     0  m   N cfq3805 put_queue\n\nSee, there are 19 lines while I only need 2. I don\u0027t think it is\nappropriate for a user.\n\nSo this patch will disable any messages if the BLK_TC_NOTIFY isn\u0027t set.\nNow the output for the same command will look like:\n  8,16   0        1     0.000000000  4908  D   R 114759 + 8 [dd]\n  8,16   0        2     0.000146827     0  C   R 114759 + 8 [0]\n\nYes, it is what I want to see.\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "797a455d2c682476c3797dbfecf5bf84c1e3b9d3",
      "tree": "3e5c4af8661e67841610820c40163093c739bb86",
      "parents": [
        "23036f1a340beec19cc451ba9719526c4ffb3a57"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Jan 10 09:06:44 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Jan 10 09:06:44 2011 +0100"
      },
      "message": "block: ensure that completion error gets properly traced\n\nWe normally just use the BIO_UPTODATE flag to signal 0/-EIO. If\nwe have more information available, we should pass that along to\nthe trace output.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "23036f1a340beec19cc451ba9719526c4ffb3a57",
      "tree": "958778a5a4491205df2e757c874b049375bcf273",
      "parents": [
        "329a67815b596d23daf0caa588ae0800e925320f"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@efficios.com",
        "time": "Fri Jan 07 08:53:58 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Jan 07 08:53:58 2011 +0100"
      },
      "message": "blktrace: add missing probe argument to block_bio_complete\n\nblktrace.c block bio complete callback needs to gain a new argument to reflect\nthe newly added \"error\" tracepoint argument. This is needed to match the new\nblock_bio_complete TRACE_EVENT as of\ncommit de983a7bfcb7c020901ca6e2314cf55a4207ab5a.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCC: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCC: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d07335e51df0c6dec202d315fc4f1f7e100eec4e",
      "tree": "db6ac1db8d87738b9e44497e082d490c14413f5d",
      "parents": [
        "5fbf85639287b6ea287f4f5e5e7e36608f0f60bd"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Tue Nov 16 12:52:38 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Nov 16 12:53:39 2010 +0100"
      },
      "message": "block: Rename \"block_remap\" tracepoint to \"block_bio_remap\" to clarify the event.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "02e031cbc843b010e72fcc05c76113c688b2860f",
      "tree": "9f68559ec3acc39bcc4ce2ff87043a094eaa2e8f",
      "parents": [
        "00e375e7e962f938f6b3c93e4cd097a5e26cc788"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Nov 10 14:54:09 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:54:09 2010 +0100"
      },
      "message": "block: remove REQ_HARDBARRIER\n\nREQ_HARDBARRIER is dead now, so remove the leftovers.  What\u0027s left\nat this point is:\n\n - various checks inside the block layer.\n - sanity checks in bio based drivers.\n - now unused bio_empty_barrier helper.\n - Xen blockfront use of BLKIF_OP_WRITE_BARRIER - it\u0027s dead for a while,\n   but Xen really needs to sort out it\u0027s barrier situaton.\n - setting of ordered tags in uas - dead code copied from old scsi\n   drivers.\n - scsi different retry for barriers - it\u0027s dead and should have been\n   removed when flushes were converted to FS requests.\n - blktrace handling of barriers - removed.  Someone who knows blktrace\n   better should add support for REQ_FLUSH and REQ_FUA, though.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "01b284f9b6d51cc3f3bcf3b49f16d2601d3ca22d",
      "tree": "686f6c3cb92f172c96eeb853c58cb343bbb5dd94",
      "parents": [
        "0fc86c7bd924debd0bddee790ecc884604fdcc63"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Sep 17 20:39:22 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Oct 19 11:29:57 2010 +0200"
      },
      "message": "blktrace: remove the big kernel lock\n\nAccording to Jens, this code does not need the BKL at all,\nit is sufficiently serialized by bd_mutex.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "8d57a98ccd0b4489003473979da8f5a1363ba7a3",
      "tree": "2982997ce66bb6a92c020b7189966c3097095fd7",
      "parents": [
        "93caf8e69eac763f6a20cf253ace8e7fc1ab7953"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Wed Aug 11 14:17:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 08:43:30 2010 -0700"
      },
      "message": "block: add secure discard\n\nSecure discard is the same as discard except that all copies of the\ndiscarded sectors (perhaps created by garbage collection) must also be\nerased.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kyungmin Park \u003ckmpark@infradead.org\u003e\nCc: Madhusudhan Chikkature \u003cmadhu.cr@ti.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62c2a7d969f30163f733c81158254b3095b23e72",
      "tree": "3e5dd79d874b996757814562b874a18415599a61",
      "parents": [
        "6e9624b8caec290d28b4c6d9ec75749df6372b87"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Jul 07 16:51:26 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:26:08 2010 +0200"
      },
      "message": "block: push BKL into blktrace ioctls\n\nThe blktrace driver currently needs the BKL, but\nwe should not need to take that in the block layer,\nso just push it down into the driver itself.\n\nIt is quite likely that the BKL is not actually\nrequired in blktrace code and could be removed\nin a follow-on patch.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7b6d91daee5cac6402186ff224c3af39d79f4a0e",
      "tree": "b1518cf0b6c301178e0a320f80610cd5b3aa7625",
      "parents": [
        "33659ebbae262228eef4e0fe990f393d1f0ed941"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Aug 07 18:20:39 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:20:39 2010 +0200"
      },
      "message": "block: unify flags for struct bio and struct request\n\nRemove the current bio flags and reuse the request flags for the bio, too.\nThis allows to more easily trace the type of I/O from the filesystem\ndown to the block driver.  There were two flags in the bio that were\nmissing in the requests:  BIO_RW_UNPLUG and BIO_RW_AHEAD.  Also I\u0027ve\nrenamed two request flags that had a superflous RW in them.\n\nNote that the flags are in bio.h despite having the REQ_ name - as\nblkdev.h includes bio.h that is the only way to go for now.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "33659ebbae262228eef4e0fe990f393d1f0ed941",
      "tree": "fcb537f09359c8dad3a6f6e16dc4319562dc42cc",
      "parents": [
        "7e005f79791dcd58436c88ded4a7f5aed1b82147"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Aug 07 18:17:56 2010 +0200"
      },
      "message": "block: remove wrappers for request type/flags\n\nRemove all the trivial wrappers for the cmd_type and cmd_flags fields in\nstruct requests.  This allows much easier grepping for different request\ntypes instead of unwinding through macros.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "546cf44a1b507c1cbb5cf42bbe6169780567f36f",
      "tree": "ab0373b82198dcae5870fa2af1916102894069f1",
      "parents": [
        "74048f895fa8cbf8119b4999f1f44881a825f954"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat May 29 11:45:07 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 09:58:20 2010 +0200"
      },
      "message": "blktrace: Fix new kernel-doc warnings\n\nFix blktrace.c kernel-doc warnings:\n Warning(kernel/trace/blktrace.c:858): No description found for parameter \u0027ignore\u0027\n Warning(kernel/trace/blktrace.c:890): No description found for parameter \u0027ignore\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20100529114507.c466fc1e.randy.dunlap@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9a5776380208a3e48a92d0c763ee1a3b486fb73",
      "tree": "5ecd41c3b373e2156f5bf748ae777e022296a30c",
      "parents": [
        "0405ab80aa94afb13bf9ac4a6fc9f2923d4b9114"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 22 18:46:14 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:32 2010 -0400"
      },
      "message": "tracing: Allow events to share their print functions\n\nMultiple events may use the same method to print their data.\nInstead of having all events have a pointer to their print funtions,\nthe trace_event structure now points to a trace_event_functions structure\nthat will hold the way to print ouf the event.\n\nThe event itself is now passed to the print function to let the print\nfunction know what kind of event it should print.\n\nThis opens the door to consolidating the way several events print\ntheir output.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900382\t1048964\t 861512\t6810858\t 67ecea\tvmlinux.init\n4900446\t1049028\t 861512\t6810986\t 67ed6a\tvmlinux.preprint\n\nThis change slightly increases the size but is needed for the next change.\n\nv3: Fix the branch tracer events to handle this change.\n\nv2: Fix the new function graph tracer event calls to handle this change.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "38516ab59fbc5b3bb278cf5e1fe2867c70cff32e",
      "tree": "904476d7780a27001281b9cb93c7959128f9a1d7",
      "parents": [
        "53da59aa6dd881fd0bbdd058a8a299d90ce9dd1d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 20 17:04:50 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 09:50:34 2010 -0400"
      },
      "message": "tracing: Let tracepoints have data passed to tracepoint callbacks\n\nThis patch adds data to be passed to tracepoint callbacks.\n\nThe created functions from DECLARE_TRACE() now need a mandatory data\nparameter. For example:\n\nDECLARE_TRACE(mytracepoint, int value, value)\n\nWill create the register function:\n\nint register_trace_mytracepoint((void(*)(void *data, int value))probe,\n                                void *data);\n\nAs the first argument, all callbacks (probes) must take a (void *data)\nparameter. So a callback for the above tracepoint will look like:\n\nvoid myprobe(void *data, int value)\n{\n}\n\nThe callback may choose to ignore the data parameter.\n\nThis change allows callbacks to register a private data pointer along\nwith the function probe.\n\n\tvoid mycallback(void *data, int value);\n\n\tregister_trace_mytracepoint(mycallback, mydata);\n\nThen the mycallback() will receive the \"mydata\" as the first parameter\nbefore the args.\n\nA more detailed example:\n\n  DECLARE_TRACE(mytracepoint, TP_PROTO(int status), TP_ARGS(status));\n\n  /* In the C file */\n\n  DEFINE_TRACE(mytracepoint, TP_PROTO(int status), TP_ARGS(status));\n\n  [...]\n\n       trace_mytracepoint(status);\n\n  /* In a file registering this tracepoint */\n\n  int my_callback(void *data, int status)\n  {\n\tstruct my_struct my_data \u003d data;\n\t[...]\n  }\n\n  [...]\n\tmy_data \u003d kmalloc(sizeof(*my_data), GFP_KERNEL);\n\tinit_my_data(my_data);\n\tregister_trace_mytracepoint(my_callback, my_data);\n\nThe same callback can also be registered to the same tracepoint as long\nas the data registered is different. Note, the data must also be used\nto unregister the callback:\n\n\tunregister_trace_mytracepoint(my_callback, my_data);\n\nBecause of the data parameter, tracepoints declared this way can not have\nno args. That is:\n\n  DECLARE_TRACE(mytracepoint, TP_PROTO(void), TP_ARGS());\n\nwill cause an error.\n\nIf no arguments are needed, a new macro can be used instead:\n\n  DECLARE_TRACE_NOARGS(mytracepoint);\n\nSince there are no arguments, the proto and args fields are left out.\n\nThis is part of a series to make the tracepoint footprint smaller:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4914025\t1088868\t 861512\t6864405\t 68be15\tvmlinux.class\n4918492\t1084612\t 861512\t6864616\t 68bee8\tvmlinux.tracepoint\n\nAgain, this patch also increases the size of the kernel, but\nlays the ground work for decreasing it.\n\n v5: Fixed net/core/drop_monitor.c to handle these updates.\n\n v4: Moved the DECLARE_TRACE() DECLARE_TRACE_NOARGS out of the\n     #ifdef CONFIG_TRACE_POINTS, since the two are the same in both\n     cases. The __DECLARE_TRACE() is what changes.\n     Thanks to Frederic Weisbecker for pointing this out.\n\n v3: Made all register_* functions require data to be passed and\n     all callbacks to take a void * parameter as its first argument.\n     This makes the calling functions comply with C standards.\n\n     Also added more comments to the modifications of DECLARE_TRACE().\n\n v2: Made the DECLARE_TRACE() have the ability to pass arguments\n     and added a new DECLARE_TRACE_NOARGS() for tracepoints that\n     do not need any arguments.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "9a8c28c8311e30ba97499447d5a11662f5aea094",
      "tree": "b0260ab00c6e24fb02ca1cb3c147350e933c79ba",
      "parents": [
        "9f7cdbc33f36d28e57eaba0093f68f0d14c38c5b"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sat Feb 27 20:35:13 2010 +0300"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Feb 28 19:47:19 2010 +0100"
      },
      "message": "blktrace: perform cleanup after setup error\n\nCurrently even if BLKTRACESETUP ioctl has failed user must call\nBLKTRACETEARDOWN to be shure what all staff was cleaned, which\nis contr-intuitive.\nLet\u0027s setup ioctl make necessery cleanup by it self.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b0da3f0dada78832c9da03ad2152ae76bd9a2496",
      "tree": "58380f5d8f3c313fbb9fd0310509a408b38a0399",
      "parents": [
        "67efc9258010da35b27b3854d0880c7e193004ed"
      ],
      "author": {
        "name": "Jun\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Thu Oct 01 21:16:13 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:19:34 2009 +0200"
      },
      "message": "Add a tracepoint for block request remapping\n\nSince 2.6.31 now has request-based device-mapper, it\u0027s useful to have\na tracepoint for request-remapping as well as bio-remapping.\nThis patch adds a tracepoint for request-remapping, trace_block_rq_remap().\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "48c0d4d4c04dd520c55e0fd756fa4e7c83de3d13",
      "tree": "24994d5202e9cbe7ffcedf0f826a827e78d4e146",
      "parents": [
        "1e6f2dc11984b81c6438ff6cd45cdf15a02e3dfd"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zdenek.kabelac@gmail.com",
        "time": "Fri Sep 25 06:19:26 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:15:46 2009 +0200"
      },
      "message": "Add missing blk_trace_remove_sysfs to be in pair with blk_trace_init_sysfs\n\nAdd missing blk_trace_remove_sysfs to be in pair with blk_trace_init_sysfs\nintroduced in commit 1d54ad6da9192fed5dd3b60224d9f2dfea0dcd82.\nRelease kobject also in case the request_fn is NULL.\n\nProblem was noticed via kmemleak backtrace when some sysfs entries were\nnote properly destroyed during  device removal:\n\nunreferenced object 0xffff88001aa76640 (size 80):\n  comm \"lvcreate\", pid 2120, jiffies 4294885144\n  hex dump (first 32 bytes):\n    01 00 00 00 00 00 00 00 f0 65 a7 1a 00 88 ff ff  .........e......\n    90 66 a7 1a 00 88 ff ff 86 1d 53 81 ff ff ff ff  .f........S.....\n  backtrace:\n    [\u003cffffffff813f9cc6\u003e] kmemleak_alloc+0x26/0x60\n    [\u003cffffffff8111d693\u003e] kmem_cache_alloc+0x133/0x1c0\n    [\u003cffffffff81195891\u003e] sysfs_new_dirent+0x41/0x120\n    [\u003cffffffff81194b0c\u003e] sysfs_add_file_mode+0x3c/0xb0\n    [\u003cffffffff81197c81\u003e] internal_create_group+0xc1/0x1a0\n    [\u003cffffffff81197d93\u003e] sysfs_create_group+0x13/0x20\n    [\u003cffffffff810d8004\u003e] blk_trace_init_sysfs+0x14/0x20\n    [\u003cffffffff8123f45c\u003e] blk_register_queue+0x3c/0xf0\n    [\u003cffffffff812447e4\u003e] add_disk+0x94/0x160\n    [\u003cffffffffa00d8b08\u003e] dm_create+0x598/0x6e0 [dm_mod]\n    [\u003cffffffffa00de951\u003e] dev_create+0x51/0x350 [dm_mod]\n    [\u003cffffffffa00de823\u003e] ctl_ioctl+0x1a3/0x240 [dm_mod]\n    [\u003cffffffffa00de8f2\u003e] dm_compat_ctl_ioctl+0x12/0x20 [dm_mod]\n    [\u003cffffffff81177bfd\u003e] compat_sys_ioctl+0xcd/0x4f0\n    [\u003cffffffff81036ed8\u003e] sysenter_dispatch+0x7/0x2c\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nSigned-off-by: Zdenek Kabelac \u003czkabelac@redhat.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ed011b22ce567eabefa9ea571d3721c10ecd0553",
      "tree": "c7aee6684613075c772388a99a9137014549434e",
      "parents": [
        "85bac32c4a52c592b857f2c360cc5ec93a097d70",
        "e07cccf4046978df10f2e13fe2b99b2f9b3a65db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 06 06:11:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 06 06:11:42 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.31-rc9\u0027 into tracing/core\n\nMerge reason: move from -rc5 to -rc9.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e77405ad80f53966524b5c31244e13fbbbecbd84",
      "tree": "65c05f9e1573e9958e52bb72655e00c8592aacd2",
      "parents": [
        "f633903af2ceb0cec07d45e499a072b6593d0ed1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Sep 02 14:17:06 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Sep 04 18:59:39 2009 -0400"
      },
      "message": "tracing: pass around ring buffer instead of tracer\n\nThe latency tracers (irqsoff and wakeup) can swap trace buffers\non the fly. If an event is happening and has reserved data on one of\nthe buffers, and the latency tracer swaps the global buffer with the\nmax buffer, the result is that the event may commit the data to the\nwrong buffer.\n\nThis patch changes the API to the trace recording to be recieve the\nbuffer that was used to reserve a commit. Then this buffer can be passed\nin to the commit.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "39cbb602b543e477df71dca84b5b2e36f8bd29fc",
      "tree": "70639084b6a04ce428cecbaa5fa30c2d71d5ff33",
      "parents": [
        "7cb7beb31aa3d941833b6a6e553687422c31e4b6"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "alan.brunelle@hp.com",
        "time": "Fri Aug 07 12:01:08 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Aug 12 18:50:08 2009 +0200"
      },
      "message": "Remove double removal of blktrace directory\n\ncommit fd51d251e4cdb21f68e9dbc4336514d64a105a79\nAuthor: Stefan Raspl \u003craspl@linux.vnet.ibm.com\u003e\nDate:   Tue May 19 09:59:08 2009 +0200\n\n    blktrace: remove debugfs entries on bad path\n\nadded in an explicit invocation of debugfs_remove for bt-\u003edir, in\nblk_remove_buf_file_callback we are also getting the directory removed. On\noccasion I am seeing memory corruption that I have bisected down to\nthis commit. [The testing involves a (long) series of I/O benchmarks\nwith blktrace invoked around the actual runs.] I believe that this\ncommitted patch is correct, but the problem actually lies in the code\nin blk_remove_buf_file_callback.\n\nWith this patch I am able to consistently get complete runs whereas\npreviously I could not get a single run to complete.\n\nThe first part of the patch simply moves the debugfs_remove below the\nrelay_close: the relay_close call will remove files under bt-\u003edir, and\nso we should not remove the directory until all the files we created\nhave been removed. (Note: This is not sufficient to fix the problem -\nthe file system code has ref counts on the directoy, so our invocation\ndoes not cause the directory to actually be removed. Nonetheless, we\nshould not rely upon that feature.)\n\nSigned-off-by: Alan D. Brunelle \u003calan.brunelle@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9059598ea8981d02356eead3188bf7fa4d717b8",
      "tree": "03e73b20a30e988da7c6a3e0ad93b2dc5843274d",
      "parents": [
        "0a33f80a8373eca7f4bea3961d1346c3815fa5ed",
        "b0fd271d5fba0b2d00888363f3869e3f9b26caa9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:52:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 11:10:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block: (153 commits)\n  block: add request clone interface (v2)\n  floppy: fix hibernation\n  ramdisk: remove long-deprecated \"ramdisk\u003d\" boot-time parameter\n  fs/bio.c: add missing __user annotation\n  block: prevent possible io_context-\u003erefcount overflow\n  Add serial number support for virtio_blk, V4a\n  block: Add missing bounce_pfn stacking and fix comments\n  Revert \"block: Fix bounce limit setting in DM\"\n  cciss: decode unit attention in SCSI error handling code\n  cciss: Remove no longer needed sendcmd reject processing code\n  cciss: change SCSI error handling routines to work with interrupts enabled.\n  cciss: separate error processing and command retrying code in sendcmd_withirq_core()\n  cciss: factor out fix target status processing code from sendcmd functions\n  cciss: simplify interface of sendcmd() and sendcmd_withirq()\n  cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code\n  cciss: Use schedule_timeout_uninterruptible in SCSI error handling code\n  block: needs to set the residual length of a bidi request\n  Revert \"block: implement blkdev_readpages\"\n  block: Fix bounce limit setting in DM\n  Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt\n  ...\n\nManually fix conflicts with tracing updates in:\n\tblock/blk-sysfs.c\n\tdrivers/ide/ide-atapi.c\n\tdrivers/ide/ide-cd.c\n\tdrivers/ide/ide-floppy.c\n\tdrivers/ide/ide-tape.c\n\tinclude/trace/events/block.h\n\tkernel/trace/blktrace.c\n"
    },
    {
      "commit": "55782138e47d9baf2f7d3a7af9e7cf42adf72c56",
      "tree": "c7ccabae20e27bbeb08b69a358e8b86c98d1d9f3",
      "parents": [
        "f57a8a1911342265e7acdc190333c4e9235a6632"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jun 09 13:43:05 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 09 12:34:23 2009 -0400"
      },
      "message": "tracing/events: convert block trace points to TRACE_EVENT()\n\nTRACE_EVENT is a more generic way to define tracepoints. Doing so adds\nthese new capabilities to this tracepoint:\n\n  - zero-copy and per-cpu splice() tracing\n  - binary tracing without printf overhead\n  - structured logging records exposed under /debug/tracing/events\n  - trace events embedded in function tracer output and other plugins\n  - user-defined, per tracepoint filter expressions\n  ...\n\nCons:\n\n  - no dev_t info for the output of plug, unplug_timer and unplug_io events.\n    no dev_t info for getrq and sleeprq events if bio \u003d\u003d NULL.\n    no dev_t info for rq_abort,...,rq_requeue events if rq-\u003erq_disk \u003d\u003d NULL.\n\n    This is mainly because we can\u0027t get the deivce from a request queue.\n    But this may change in the future.\n\n  - A packet command is converted to a string in TP_assign, not TP_print.\n    While blktrace do the convertion just before output.\n\n    Since pc requests should be rather rare, this is not a big issue.\n\n  - In blktrace, an event can have 2 different print formats, but a TRACE_EVENT\n    has a unique format, which means we have some unused data in a trace entry.\n\n    The overhead is minimized by using __dynamic_array() instead of __array().\n\nI\u0027ve benchmarked the ioctl blktrace vs the splice based TRACE_EVENT tracing:\n\n      dd                   dd + ioctl blktrace       dd + TRACE_EVENT (splice)\n1     7.36s, 42.7 MB/s     7.50s, 42.0 MB/s          7.41s, 42.5 MB/s\n2     7.43s, 42.3 MB/s     7.48s, 42.1 MB/s          7.43s, 42.4 MB/s\n3     7.38s, 42.6 MB/s     7.45s, 42.2 MB/s          7.41s, 42.5 MB/s\n\nSo the overhead of tracing is very small, and no regression when using\nthose trace events vs blktrace.\n\nAnd the binary output of TRACE_EVENT is much smaller than blktrace:\n\n # ls -l -h\n -rw-r--r-- 1 root root 8.8M 06-09 13:24 sda.blktrace.0\n -rw-r--r-- 1 root root 195K 06-09 13:24 sda.blktrace.1\n -rw-r--r-- 1 root root 2.7M 06-09 13:25 trace_splice.out\n\nFollowing are some comparisons between TRACE_EVENT and blktrace:\n\nplug:\n  kjournald-480   [000]   303.084981: block_plug: [kjournald]\n  kjournald-480   [000]   303.084981:   8,0    P   N [kjournald]\n\nunplug_io:\n  kblockd/0-118   [000]   300.052973: block_unplug_io: [kblockd/0] 1\n  kblockd/0-118   [000]   300.052974:   8,0    U   N [kblockd/0] 1\n\nremap:\n  kjournald-480   [000]   303.085042: block_remap: 8,0 W 102736992 + 8 \u003c- (8,8) 33384\n  kjournald-480   [000]   303.085043:   8,0    A   W 102736992 + 8 \u003c- (8,8) 33384\n\nbio_backmerge:\n  kjournald-480   [000]   303.085086: block_bio_backmerge: 8,0 W 102737032 + 8 [kjournald]\n  kjournald-480   [000]   303.085086:   8,0    M   W 102737032 + 8 [kjournald]\n\ngetrq:\n  kjournald-480   [000]   303.084974: block_getrq: 8,0 W 102736984 + 8 [kjournald]\n  kjournald-480   [000]   303.084975:   8,0    G   W 102736984 + 8 [kjournald]\n\n  bash-2066  [001]  1072.953770:   8,0    G   N [bash]\n  bash-2066  [001]  1072.953773: block_getrq: 0,0 N 0 + 0 [bash]\n\nrq_complete:\n  konsole-2065  [001]   300.053184: block_rq_complete: 8,0 W () 103669040 + 16 [0]\n  konsole-2065  [001]   300.053191:   8,0    C   W 103669040 + 16 [0]\n\n  ksoftirqd/1-7   [001]  1072.953811:   8,0    C   N (5a 00 08 00 00 00 00 00 24 00) [0]\n  ksoftirqd/1-7   [001]  1072.953813: block_rq_complete: 0,0 N (5a 00 08 00 00 00 00 00 24 00) 0 + 0 [0]\n\nrq_insert:\n  kjournald-480   [000]   303.084985: block_rq_insert: 8,0 W 0 () 102736984 + 8 [kjournald]\n  kjournald-480   [000]   303.084986:   8,0    I   W 102736984 + 8 [kjournald]\n\nChangelog from v2 -\u003e v3:\n\n- use the newly introduced __dynamic_array().\n\nChangelog from v1 -\u003e v2:\n\n- use __string() instead of __array() to minimize the memory required\n  to store hex dump of rq-\u003ecmd().\n\n- support large pc requests.\n\n- add missing blk_fill_rwbs_rq() in block_rq_requeue TRACE_EVENT.\n\n- some cleanups.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A2DF669.5070905@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "fd51d251e4cdb21f68e9dbc4336514d64a105a79",
      "tree": "478fb26aea6b7e79532f33cc5949b4fece18cdfc",
      "parents": [
        "143c145e3a475065a4be661468d0df1bd0b25f74"
      ],
      "author": {
        "name": "Stefan Raspl",
        "email": "raspl@linux.vnet.ibm.com",
        "time": "Tue May 19 09:59:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 19 10:29:21 2009 +0200"
      },
      "message": "blktrace: remove debugfs entries on bad path\n\ndebugfs directory entries for devices are not removed on some\nof the failure pathes in do_blk_trace_setup().\nOne way to reproduce is to start blktrace on multiple devices\nwith insufficient Vmalloc space: Devices will fail with\na message like this:\n\n\tBLKTRACESETUP(2) /dev/sdu failed: 5/Input/output error\n\nIf so, the respective entries in debugfs\n(e.g. /sys/kernel/debug/block/sdu) will remain and subsequent\nattempts to start blktrace on the respective devices will not\nsucceed due to existing directories.\n\n[ Impact: fix /debug/tracing file cleanup corner case ]\n\nSigned-off-by: Stefan Raspl \u003cstefan.raspl@linux.vnet.ibm.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: schwidefsky@de.ibm.com\nCc: heiko.carstens@de.ibm.com\nLKML-Reference: \u003c4A1266CC.5040801@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "049862579333cc6cd9e6edfd6987cd0addfd8c59",
      "tree": "171ce56995657c0dd92825b733afbd88242a3887",
      "parents": [
        "4671c79408a3f8a5a6a45e39c4c164dada3a5678"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 11 14:33:23 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 11 12:25:50 2009 +0200"
      },
      "message": "blktrace: pdu_buf of pc events should be unsigned\n\nI got this:\n  8,0    1   305.417782332  2037  I   R 32 (ffffff9e 10 00 ...) [bash]\n\nIt should be:\n  8,0    1   305.417782332  2037  I   R 32 (9e 10 00 ...) [bash]\n\n[ Impact: fix output of pc events ]\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c4A07C6B3.9080802@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e46e8b27aa57c6bd34b3102b40ee4d0144b4fab",
      "tree": "134f560f66c2af277f0f25e5b85f6c1acaddfc06",
      "parents": [
        "9780e2dd8254351f6cbe11304849126b51dbd561"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:41 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:54 2009 +0200"
      },
      "message": "block: drop request-\u003ehard_* and *nr_sectors\n\nstruct request has had a few different ways to represent some\nproperties of a request.  -\u003ehard_* represent block layer\u0027s view of the\nrequest progress (completion cursor) and the ones without the prefix\nare supposed to represent the issue cursor and allowed to be updated\nas necessary by the low level drivers.  The thing is that as block\nlayer supports partial completion, the two cursors really aren\u0027t\nnecessary and only cause confusion.  In addition, manual management of\nrequest detail from low level drivers is cumbersome and error-prone at\nthe very least.\n\nAnother interesting duplicate fields are rq-\u003e[hard_]nr_sectors and\nrq-\u003e{hard_cur|current}_nr_sectors against rq-\u003edata_len and\nrq-\u003ebio-\u003ebi_size.  This is more convoluted than the hard_ case.\n\nrq-\u003e[hard_]nr_sectors are initialized for requests with bio but\nblk_rq_bytes() uses it only for !pc requests.  rq-\u003edata_len is\ninitialized for all request but blk_rq_bytes() uses it only for pc\nrequests.  This causes good amount of confusion throughout block layer\nand its drivers and determining the request length has been a bit of\nblack magic which may or may not work depending on circumstances and\nwhat the specific LLD is actually doing.\n\nrq-\u003e{hard_cur|current}_nr_sectors represent the number of sectors in\nthe contiguous data area at the front.  This is mainly used by drivers\nwhich transfers data by walking request segment-by-segment.  This\nvalue always equals rq-\u003ebio-\u003ebi_size \u003e\u003e 9.  However, data length for\npc requests may not be multiple of 512 bytes and using this field\nbecomes a bit confusing.\n\nIn general, having multiple fields to represent the same property\nleads only to confusion and subtle bugs.  With recent block low level\ndriver cleanups, no driver is accessing or manipulating these\nduplicate fields directly.  Drop all the duplicates.  Now rq-\u003esector\nmeans the current sector, rq-\u003edata_len the current total length and\nrq-\u003ebio-\u003ebi_size the current segment length.  Everything else is\ndefined in terms of these three and available only through accessors.\n\n* blk_recalc_rq_sectors() is collapsed into blk_update_request() and\n  now handles pc and fs requests equally other than rq-\u003esector update.\n  This means that now pc requests can use partial completion too (no\n  in-kernel user yet tho).\n\n* bio_cur_sectors() is replaced with bio_cur_bytes() as block layer\n  now uses byte count as the primary data length.\n\n* blk_rq_pos() is now guranteed to be always correct.  In-block users\n  converted.\n\n* blk_rq_bytes() is now guaranteed to be always valid as is\n  blk_rq_sectors().  In-block users converted.\n\n* blk_rq_sectors() is now guaranteed to equal blk_rq_bytes() \u003e\u003e 9.\n  More convenient one is used.\n\n* blk_rq_bytes() and blk_rq_cur_bytes() are now inlined and take const\n  pointer to request.\n\n[ Impact: API cleanup, single way to represent one property of a request ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5b93629b4509c03ffa87a9316412fedf6f58cb37",
      "tree": "ad5ceda3f718361b8df3057b4f9edcc79aa4cd9d",
      "parents": [
        "c3a4d78c580de4edc9ef0f7c59812fb02ceb037f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:38 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:53 2009 +0200"
      },
      "message": "block: implement blk_rq_pos/[cur_]sectors() and convert obvious ones\n\nImplement accessors - blk_rq_pos(), blk_rq_sectors() and\nblk_rq_cur_sectors() which return rq-\u003ehard_sector, rq-\u003ehard_nr_sectors\nand rq-\u003ehard_cur_sectors respectively and convert direct references of\nthe said fields to the accessors.\n\nThis is in preparation of request data length handling cleanup.\n\nGeert\t: suggested adding const to struct request * parameter to accessors\nSergei\t: spotted error in patch description\n\n[ Impact: cleanup ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nAcked-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nTested-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAckec-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "22a7c31a9659deaddafbbcec6562d44141e84474",
      "tree": "0fe1c64e82d673597c78c6ce5f3569d9101b5281",
      "parents": [
        "a42aaa3bbce85ac487ad4fad5db99e8e91b7aac1"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "Alan.Brunelle@hp.com",
        "time": "Mon May 04 16:35:08 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 14:13:01 2009 +0200"
      },
      "message": "blktrace: from-sector redundant in trace_block_remap\n\nRemove redundant from-sector parameter: it\u0027s /always/ the bio\u0027s sector\npassed in.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Alan D. Brunelle \u003calan.brunelle@hp.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c49FF517C.7000503@hp.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a42aaa3bbce85ac487ad4fad5db99e8e91b7aac1",
      "tree": "1f1b4ac4335774c154213e756d10247e5eac1ded",
      "parents": [
        "de1d7286060430e79a1d50ad6e5fee8fe863c5f6"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "Alan.Brunelle@hp.com",
        "time": "Mon May 04 16:27:26 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 14:13:00 2009 +0200"
      },
      "message": "blktrace: correct remap names\n\nThis attempts to clarify names utilized during block I/O remap\noperations (partition, volume manager). It correctly matches up the\n/from/ information for both device \u0026 sector. This takes in the concept\nfrom Kosaki Motohiro and extends it to include better naming for the\n\"device_from\" field.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Alan D. Brunelle \u003calan.brunelle@hp.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c49FF4FAE.3000301@hp.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f3948f8857ef5de239f28a61dddb1554a0ae4c2c",
      "tree": "62e5568c18b944d086366510fb0ff8ed71682897",
      "parents": [
        "1d54ad6da9192fed5dd3b60224d9f2dfea0dcd82"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 15 11:02:56 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 16 10:11:01 2009 +0200"
      },
      "message": "blktrace: fix context-info when mixed-using blk tracer and trace events\n\nWhen current tracer is set to blk tracer, TRACE_ITER_CONTEXT_INFO is\nunset, but actually context-info is printed:\n\n    pdflush-431   [000]   821.181576:   8,0    P   N [pdflush]\n\nAnd then if we enable TRACE_ITER_CONTEXT_INFO:\n\n    # echo context-info \u003e trace_options\n\nWe\u0027ll see context-info printed twice. What\u0027s worse, when we use blk\ntracer and trace events at the same time, we\u0027ll see no context-info\nfor trace events at all:\n\n    jbd2_commit_logging: dev dm-0:8 transaction 333227\n    jbd2_end_commit: dev dm-0:8 transaction 333227 head 332814\n      rm-25433 [001]  9578.307485:   8,18   m   N cfq25433 slice expired t\u003d0\n      rm-25433 [001]  9578.307486:   8,18   m   N cfq25433 put_queue\n\nThis patch adds blk_tracer-\u003eset_flags(), and context-info flag is unset\nonly when we set the output to classic mode.\n\nNote after this patch, one should unset context-info explicitly if he\nwants to get binary output that can be parsed by blkparse:\n\n    # echo nocontext-info \u003e trace_options\n    # echo bin \u003e trace_options\n    # echo blk \u003e current_tracer\n    # cat trace_pipe | blkparse -i -\n\nReported-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49E54E60.50408@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d54ad6da9192fed5dd3b60224d9f2dfea0dcd82",
      "tree": "fd5917f144ec820b933795bedd7eddea96bee374",
      "parents": [
        "9908c30997b8a73c95f836170b9998dae9aa3f4a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 14 14:00:05 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 16 10:10:59 2009 +0200"
      },
      "message": "blktrace: add trace/ to /sys/block/sda\n\nImpact: allow ftrace-plugin blktrace to trace device-mapper devices\n\nTo trace a single partition:\n  # echo 1 \u003e /sys/block/sda/sda1/enable\n\nTo trace the whole sda instead:\n  # echo 1 \u003e /sys/block/sda/enable\n\nThus we also fix an issue reported by Ted, that ftrace-plugin blktrace\ncan\u0027t be used to trace device-mapper devices.\n\nNow:\n\n  # echo 1 \u003e /sys/block/dm-0/trace/enable\n  echo: write error: No such device or address\n  # mount -t ext4 /dev/dm-0 /mnt\n  # echo 1 \u003e /sys/block/dm-0/trace/enable\n  # echo blk \u003e /debug/tracing/current_tracer\n\nReported-by: Theodore Tso \u003ctytso@mit.edu\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Shawn Du \u003cduyuyang@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nLKML-Reference: \u003c49E42665.6020506@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9908c30997b8a73c95f836170b9998dae9aa3f4a",
      "tree": "d44d6d663a150c26b5d7be6edebb1abbb88ecc94",
      "parents": [
        "d0deef5b14af7d5bbd0003a0a2a1a32326e20a6d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 14 13:59:34 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 16 10:10:58 2009 +0200"
      },
      "message": "blktrace: support per-partition tracing for ftrace plugin\n\nThe previous patch adds support to trace a single partition for\nrelay+ioctl blktrace, and this patch is for ftrace plugin blktrace:\n\n  # echo 1 \u003e /sys/block/sda/sda7/enable\n  # cat start_lba\n  102398373\n  # cat end_lba\n  102703545\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Shawn Du \u003cduyuyang@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nLKML-Reference: \u003c49E42646.4060608@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0deef5b14af7d5bbd0003a0a2a1a32326e20a6d",
      "tree": "de1d438935a4cc50dd9d7e0ccccc3cfc5c7e6c06",
      "parents": [
        "9cfe06f8cd5c8c3ad6ab323973e87dde670642b8"
      ],
      "author": {
        "name": "Shawn Du",
        "email": "duyuyang@gmail.com",
        "time": "Tue Apr 14 13:58:56 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 16 10:10:57 2009 +0200"
      },
      "message": "blktrace: support per-partition tracing\n\nThough one can specify \u0027-d /dev/sda1\u0027 when using blktrace, it still\ntraces the whole sda.\n\nTo support per-partition tracing, when we start tracing, we initialize\nbt-\u003estart_lba and bt-\u003eend_lba to the start and end sector of that\npartition.\n\nNote some actions are per device, thus we don\u0027t filter 0-sector events.\n\nThe original patch and discussion can be found here:\n\thttp://marc.info/?l\u003dlinux-btrace\u0026m\u003d122949374214540\u0026w\u003d2\n\nSigned-off-by: Shawn Du \u003cduyuyang@gmail.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nLKML-Reference: \u003c49E42620.4050701@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "66de7792c02693b49671afe58c771fde3b092fc7",
      "tree": "de50b82ef212c6f9a3f950282b45485e8d87b0a3",
      "parents": [
        "b78825d608f30a47e3154ab6872a03f0de0c9d45"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 01 16:19:19 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 15:32:46 2009 +0200"
      },
      "message": "blktrace: fix output of BLK_TC_PC events\n\nBLK_TC_PC events should be treated differently with BLK_TC_FS events.\n\nBefore this patch:\n\n # echo 1 \u003e /sys/block/sda/sda1/trace/enable\n # echo pc \u003e /sys/block/sda/sda1/trace/act_mask\n # echo blk \u003e /debugfs/tracing/current_tracer\n # (generate some BLK_TC_PC events)\n # cat trace\n        bash-2184  [000]  1774.275413:   8,7    I   N [bash]\n        bash-2184  [000]  1774.275435:   8,7    D   N [bash]\n        bash-2184  [000]  1774.275540:   8,7    I   R [bash]\n        bash-2184  [000]  1774.275547:   8,7    D   R [bash]\n ksoftirqd/0-4     [000]  1774.275580:   8,7    C   N 0 [0]\n        bash-2184  [000]  1774.275648:   8,7    I   R [bash]\n        bash-2184  [000]  1774.275653:   8,7    D   R [bash]\n ksoftirqd/0-4     [000]  1774.275682:   8,7    C   N 0 [0]\n        bash-2184  [000]  1774.275739:   8,7    I   R [bash]\n        bash-2184  [000]  1774.275744:   8,7    D   R [bash]\n ksoftirqd/0-4     [000]  1774.275771:   8,7    C   N 0 [0]\n        bash-2184  [000]  1774.275804:   8,7    I   R [bash]\n        bash-2184  [000]  1774.275808:   8,7    D   R [bash]\n ksoftirqd/0-4     [000]  1774.275836:   8,7    C   N 0 [0]\n\nAfter this patch:\n\n # cat trace\n        bash-2263  [000]   366.782149:   8,7    I   N 0 (00 ..) [bash]\n        bash-2263  [000]   366.782323:   8,7    D   N 0 (00 ..) [bash]\n        bash-2263  [000]   366.782557:   8,7    I   R 8 (25 00 ..) [bash]\n        bash-2263  [000]   366.782560:   8,7    D   R 8 (25 00 ..) [bash]\n ksoftirqd/0-4     [000]   366.782582:   8,7    C   N (25 00 ..) [0]\n        bash-2263  [000]   366.782648:   8,7    I   R 8 (5a 00 3f 00) [bash]\n        bash-2263  [000]   366.782650:   8,7    D   R 8 (5a 00 3f 00) [bash]\n ksoftirqd/0-4     [000]   366.782669:   8,7    C   N (5a 00 3f 00) [0]\n        bash-2263  [000]   366.782710:   8,7    I   R 8 (5a 00 08 00) [bash]\n        bash-2263  [000]   366.782713:   8,7    D   R 8 (5a 00 08 00) [bash]\n ksoftirqd/0-4     [000]   366.782730:   8,7    C   N (5a 00 08 00) [0]\n        bash-2263  [000]   366.783375:   8,7    I   R 36 (5a 00 08 00) [bash]\n        bash-2263  [000]   366.783379:   8,7    D   R 36 (5a 00 08 00) [bash]\n ksoftirqd/0-4     [000]   366.783404:   8,7    C   N (5a 00 08 00) [0]\n\nThis is what we do with PC events in user-space blktrace.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c49D32387.9040106@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b78825d608f30a47e3154ab6872a03f0de0c9d45",
      "tree": "a20ac6c33f67749466fe21ebc8edf8e3c139f579",
      "parents": [
        "fc182a4330fc22ea1b68fa3d5064dd85a73a4c4a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 01 16:18:53 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 12 15:32:45 2009 +0200"
      },
      "message": "blktrace: fix output of unknown events\n\nNot all events are pc (packet command) events. An event is a pc\nevent only if it has BLK_TC_PC bit set.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c49D3236D.3090705@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9eb85125ce218a8b8d9a7c982510388e227adbec",
      "tree": "320b87113d2c6b151f14e39d3a7e60174e19b0be",
      "parents": [
        "47788c58e66c050982241d9a05eb690daceb05a9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Apr 09 11:19:40 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 09 05:52:40 2009 +0200"
      },
      "message": "blktrace: pass the right pointer to kfree()\n\nImpact: fix kfree crash with non-standard act_mask string\n\nIf passing a string with leading white spaces to strstrip(),\nthe returned ptr !\u003d the original ptr.\n\nThis bug was introduced by me.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c49DD694C.8020902@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e2494e1b42ebac402324105d57646489d19e2b01",
      "tree": "bd8d0beac5d8b8a7e6ff209c265b015a56fed1fd",
      "parents": [
        "7635b03adf3d7b84da7649b81efa91e6ebf11b85"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Apr 02 13:43:26 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 03 15:29:26 2009 +0200"
      },
      "message": "blktrace: fix pdu_len when tracing packet command requests\n\nImpact: output all of packet commands - not just the first 4 / 8 bytes\n\nSince commit d7e3c3249ef23b4617393c69fe464765b4ff1645 (\"block: add\nlarge command support\"), struct request-\u003ecmd has been changed from\nunsinged char cmd[BLK_MAX_CDB] to unsigned char *cmd.\n\nv1 -\u003e v2: by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\n\n- make sure rq-\u003ecmd_len is always intialized, and then we can use\n  rq-\u003ecmd_len instead of BLK_MAX_CDB.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nLKML-Reference: \u003c49D4507E.2060602@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7635b03adf3d7b84da7649b81efa91e6ebf11b85",
      "tree": "072f7292c865162b7fb00fa33a68f0486f327563",
      "parents": [
        "a4b3ada83d06554d307dd54abdc62b2e5648264a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Apr 03 15:31:34 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 03 14:48:11 2009 +0200"
      },
      "message": "blktrace: small cleanup in blk_msg_write()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: \"Alan D. Brunelle\" \u003calan.brunelle@hp.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nLKML-Reference: \u003c49D5BB56.7000807@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4b3ada83d06554d307dd54abdc62b2e5648264a",
      "tree": "70413a3343c8a40a8d3b22ec6d020ef806ca7a9b",
      "parents": [
        "18cea4591a98817697017bcb056a848bae1205df"
      ],
      "author": {
        "name": "Carl Henrik Lunde",
        "email": "chlunde@ping.uio.no",
        "time": "Fri Apr 03 14:27:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 03 14:46:22 2009 +0200"
      },
      "message": "blktrace: NUL-terminate user space messages\n\nImpact: fix corrupted blkparse output\n\nMake sure messages from user space are NUL-terminated strings,\notherwise we could dump random memory to the block trace file.\n\nAdditionally, I\u0027ve limited the message to BLK_TN_MAX_MSG-1\ncharacters, because the last character would be stripped by\nvscnprintf anyway.\n\nSigned-off-by: Carl Henrik Lunde \u003cchlunde@ping.uio.no\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: \"Alan D. Brunelle\" \u003calan.brunelle@hp.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20090403122714.GT5178@kernel.dk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "18cea4591a98817697017bcb056a848bae1205df",
      "tree": "2a5d65642b5dfeefb8e688e2276ae0dbb2a12787",
      "parents": [
        "b6a4b0c3ad4c09c1d37b1040ac8e3ebd1016e10b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 27 10:21:54 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:29:11 2009 +0200"
      },
      "message": "blktrace: print out BLK_TN_MESSAGE properly\n\nImpact: improve ftrace plugin output\n\nBefore this patch:\n\n # cat trace\n         make-5383  [001]   741.240059:   8,7    P   N [make]\n __trace_note_message: cfq1074\n\n # echo 1 \u003e options/blk_classic\n # cat trace\n   8,7    1     0.692221252     0  C   W 130411392 + 1024 [0]\n Bad pc action 6361\n Bad pc action 283d\n\n # echo 0 \u003e options/blk_classic\n # echo bin \u003e trace_options\n # cat trace_pipe | blkparse -i -\n (can\u0027t parse messages generated by blk_add_trace_msg())\n\nAfter this patch:\n # cat trace\n      \u003cidle\u003e-0     [001]   187.600933:   8,7    C   W 145220224 + 8 [0]\n      \u003cidle\u003e-0     [001]   187.600946:   8,7    m   N cfq1076 complete\n\n # echo 1 \u003e options/blk_classic\n # cat trace\n   8,7    1     0.256378996   238  I   W 113190728 + 8 [pdflush]\n   8,7    1     0.256378998   238  m   N cfq1076 insert_request\n\n # echo 0 \u003e options/blk_classic\n # echo bin \u003e trace_options\n # cat trace_pipe | blkparse -i -\n  8,7    1        0    22.973250293     0  C   W 102770576 + 8 [0]\n  8,7    1        0    22.973259213     0  m   N cfq1076 complete\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6a4b0c3ad4c09c1d37b1040ac8e3ebd1016e10b",
      "tree": "95025e5a1b49056bdadf9bbb3e96417430d1830a",
      "parents": [
        "ad5dd5493a55e462796e42e50a49e76df76fdb05"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 27 10:21:23 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:28:59 2009 +0200"
      },
      "message": "blktrace: extract duplidate code\n\nImpact: cleanup\n\nblk_trace_event_print() and blk_tracer_print_line() share most of the code.\n\n   text    data     bss     dec     hex filename\n   8605     393      12    9010    2332 kernel/trace/blktrace.o.orig\n   text    data     bss     dec     hex filename\n   8555     393      12    8960    2300 kernel/trace/blktrace.o\n\nThis patch also prepares for the next patch, that prints out BLK_TN_MESSAGE.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad5dd5493a55e462796e42e50a49e76df76fdb05",
      "tree": "3073af1836aaa7ba1d8df4cb6b2f287b31e27d72",
      "parents": [
        "17ba97e347bec9bbc47a0877c7a098708982129d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 27 10:20:24 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:27:58 2009 +0200"
      },
      "message": "blktrace: fix memory leak when freeing struct blk_io_trace\n\nImpact: fix mixed ioctl and ftrace-plugin blktrace use memory leak\n\nWhen mixing the use of ioctl-based blktrace and ftrace-based blktrace,\nwe can leak memory in this way:\n\n  # btrace /dev/sda \u003e /dev/null \u0026\n  # echo 0 \u003e /sys/block/sda/sda1/trace/enable\n\nnow we leak bt-\u003edropped_file, bt-\u003emsg_file, bt-\u003erchan...\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17ba97e347bec9bbc47a0877c7a098708982129d",
      "tree": "b6a7472c354e4135f1ea47482d19ae277be65dee",
      "parents": [
        "35ac51bfe4c293b67ce9f85082ba0b9bc6123c40"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 27 10:20:09 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:27:45 2009 +0200"
      },
      "message": "blktrace: fix blk_probes_ref chaos\n\nImpact: fix mixed ioctl and ftrace-plugin blktrace use refcount bugs\n\nioctl-based blktrace allocates bt and registers tracepoints when\nioctl(BLKTRACESETUP), and do all cleanups when ioctl(BLKTRACETEARDOWN).\n\nwhile ftrace-based blktrace allocates/frees bt when:\n  # echo 1/0 \u003e /sys/block/sda/sda1/trace/enable\n\nand registers/unregisters tracepoints when:\n  # echo blk/nop \u003e /debugfs/tracing/current_tracer\nor\n  # echo 1/0 \u003e /debugfs/tracing/tracing_enable\n\nThe separatation of allocation and registeration causes 2 problems:\n\n  1. current user-space blktrace still calls ioctl(TEARDOWN) when\n     ioctl(SETUP) failed:\n       # echo 1 \u003e /sys/block/sda/sda1/trace/enable\n       # blktrace /dev/sda\n         BLKTRACESETUP: Device or resource busy\n         ^C\n     and now blk_probes_ref \u003d\u003d -1\n\n  2. Another way to make blk_probes_ref \u003d\u003d -1:\n     # plugin sdb \u0026\u0026 mount sdb1\n     # echo 1 \u003e /sys/block/sdb/sdb1/trace/enable\n     # remove sdb\n\nThis patch does the allocation and registeration when writing\nsdaX/trace/enable.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "35ac51bfe4c293b67ce9f85082ba0b9bc6123c40",
      "tree": "0853820b03650725795308550e9a63fadac3d771",
      "parents": [
        "eb08f8eb0673d9c1e62b69ad1b41593e73c40467"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 27 10:19:46 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:27:36 2009 +0200"
      },
      "message": "blktrace: make classic output more classic\n\nImpact: fix ftrace plugin timestamp output\n\nIn the classic user-space blktrace, the output timestamp is sec.nsec\nnot sec.usec.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb08f8eb0673d9c1e62b69ad1b41593e73c40467",
      "tree": "8243201d6f98e5e502fd0688c632e9650c1f973d",
      "parents": [
        "5554720482a631702146a959db22fe417740e0a6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Mar 24 16:05:27 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:27:18 2009 +0200"
      },
      "message": "blktrace: fix off-by-one bug\n\n\u0027what\u0027 is used as the index of array what2act, so it can\u0027t \u003e\u003d the array size.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5554720482a631702146a959db22fe417740e0a6",
      "tree": "fd7a304638269e3b3826faeb5dbc35f04af4deeb",
      "parents": [
        "b5230b56ee6caeb27cedb7753c0c319646383bb4"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Mar 25 17:21:26 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:27:08 2009 +0200"
      },
      "message": "blktrace: fix the original blktrace\n\nCurrently the original blktrace, which is using relay and is used via\nioctl, is broken. You can use ftrace to see the output of blktrace,\nbut user-space blktrace is unusable.\n\nIt\u0027s broken by \"blktrace: add ftrace plugin\"\n(c71a896154119f4ca9e89d6078f5f63ad60ef199)\n\n -\tif (unlikely(bt-\u003etrace_state !\u003d Blktrace_running))\n +\tif (unlikely(bt-\u003etrace_state !\u003d Blktrace_running || !blk_tracer_enabled))\n\t\treturn;\n\nWith this patch, both ioctl and ftrace can be used, but of course you\ncan\u0027t use both of them at the same time.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5230b56ee6caeb27cedb7753c0c319646383bb4",
      "tree": "a8cb9730ba9d89346d3bd959393e72c84b36ce84",
      "parents": [
        "6c051ce0307526adec32a847f0daa1af2124f0a9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Mar 25 17:19:33 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:26:59 2009 +0200"
      },
      "message": "blktrace: fix a race when creating blk_tree_root in debugfs\n\nt1                                t2\n------                            ------\ndo_blk_trace_setup()              do_blk_trace_setup()\n  if (!blk_tree_root) {\n                                    if (!blk_tree_root)\n    blk_tree_root \u003d create_dir()\n                                      blk_tree_root \u003d create_dir();\n                                      (now blk_tree_root \u003d\u003d NULL)\n  ...\n  dir \u003d create_dir(name, blk_tree_root);\n\nDue to this race, t1 will create \u0027dir\u0027 in /debugfs but not /debugfs/block.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c051ce0307526adec32a847f0daa1af2124f0a9",
      "tree": "ce7317e18bf9bdd379e73782771761e4c24a156c",
      "parents": [
        "093419971e03362a00f499960557c119982ea09f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Mar 25 17:18:56 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 17:26:47 2009 +0200"
      },
      "message": "blktrace: fix timestamp in binary output\n\nI found the timestamp is wrong:\n\n # echo bin \u003e trace_option\n # echo blk \u003e current_tracer\n # cat trace_pipe | blkparse -i -\n 8,0    0        0     0.000000000   504  A   W ...\n ...\n 8,7    1        0     0.008534097     0  C   R ...\n            (should be 8.534097xxx)\n\nuser-space blkparse expects the timestamp to be nanosecond.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "093419971e03362a00f499960557c119982ea09f",
      "tree": "f355954c6282bc6ee3d67f7ae374408821a216ef",
      "parents": [
        "e0dc81bec0927fa0c8aabc521793161909eef7a5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Mar 24 17:43:30 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 24 13:09:00 2009 +0100"
      },
      "message": "blktrace: print human-readable act_mask\n\nImpact: new feature, allow symbolic values in /debug/tracing/act_mask\n\nPrint stringified act_mask instead of hex value:\n\n # cat act_mask\n read,write,barrier,sync,queue,requeue,issue,complete,fs,pc,ahead,meta,\n discard,drv_data\n # echo \"meta,write\" \u003e act_mask\n # cat act_mask\n write,meta\n\nAlso:\n - make act_mask accept \"ahead\", \"meta\", \"discard\" and \"drv_data\"\n - use strsep() instead of strchr() to parse user input\n - return -EINVAL if a token is not found in the mask map\n - fix a bug that \u0027value\u0027 is unsigned, so it can \u003c 0\n - propagate error value of blk_trace_mask2str() to userspace, but not\n   always return -ENXIO.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c49C8AB42.1000802@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0dc81bec0927fa0c8aabc521793161909eef7a5",
      "tree": "6a3516ed95324fc33c09f3d94c086f09c8144395",
      "parents": [
        "65796348e09880e12b97267d39b8857c758440a6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Mar 24 16:05:51 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 24 13:09:00 2009 +0100"
      },
      "message": "blktrace: fix t_error()\n\nImpact: fix error flag output\n\nt_error() should return t-\u003eerror but not t-\u003esector.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c49C8945F.5020802@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "65796348e09880e12b97267d39b8857c758440a6",
      "tree": "176f962be8db38b8fe7309363d73c72fa6c4c69e",
      "parents": [
        "e4955c9986a27bb47ddeb6cd55803053f547e2e9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Mar 24 16:05:06 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 24 13:08:59 2009 +0100"
      },
      "message": "blktrace: fix wrong calculation of RWBS\n\nImpact: fix the output of IO type category characters\n\nTrace categories are the upper 16 bits, not the lower 16 bits.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c49C89432.8010805@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4955c9986a27bb47ddeb6cd55803053f547e2e9",
      "tree": "e0dc65874b6d403d4379fd57c73a05ace516067c",
      "parents": [
        "b125130b22d67f249beba10b71a254558b5279d0"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Mar 24 16:04:37 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 24 13:08:59 2009 +0100"
      },
      "message": "blktrace: mark ddir_act[] const\n\nImpact: cleanup\n\nddir_act and what2act always stay immutable.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c49C89415.5080503@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b125130b22d67f249beba10b71a254558b5279d0",
      "tree": "f42f4f732a2d7920009f34d798d1803def38ea44",
      "parents": [
        "cd649b8bb830d65c57c3c8b98d57b5402256d8bd"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 20 10:34:00 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 21 16:17:24 2009 +0100"
      },
      "message": "blktrace: avoid accessing NULL bdev-\u003ebd_disk\n\nbdev-\u003ebd_disk can be NULL, if the block device is not opened.\n\nTry this against an unmounted partition, and you\u0027ll see NULL dereference:\n\n  # echo 1 \u003e /sys/block/sda/sda5/enable\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49C30098.6080107@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd649b8bb830d65c57c3c8b98d57b5402256d8bd",
      "tree": "e1cfb4a2d6a14f6459913ba7b40cc778f1fcb723",
      "parents": [
        "15152e448b693fa41de40f1e40ffbe717a3aab88"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 20 11:33:55 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 21 16:17:08 2009 +0100"
      },
      "message": "blktrace: remove sysfs_blk_trace_enable_show/store()\n\nsysfs_blk_trace_enable_show()/store() share most of code with\nsysfs_blk_trace_attr_show()/store().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49C30EA3.1060004@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15152e448b693fa41de40f1e40ffbe717a3aab88",
      "tree": "0fec87dd1850aa8e6e8be21bebb3ce0bd3bf148a",
      "parents": [
        "cbe28296eb1ac441b35cf45804d0ae808add7dd1"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 20 09:49:08 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 21 16:16:54 2009 +0100"
      },
      "message": "blktrace: report EBUSY correctly\n\nblk_trace_remove_queue() returns EINVAL if q-\u003eblk_trace \u003d\u003d NULL,\nbut blk_trace_setup_queue() doesn\u0027t return EBUSY if\nq-\u003eblk_trace !\u003d NULL.\n\n # echo 0 \u003e sdaX/trace/enable\n # echo 0 \u003e sdaX/trace/enable\n bash: echo: write error: Invalid argument\n # echo 1 \u003e sdaX/trace/enable\n # echo 1 \u003e sdaX/trace/enable\n (should return EBUSY)\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49C2F614.2010101@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbe28296eb1ac441b35cf45804d0ae808add7dd1",
      "tree": "c387d2697ea153cadb629e3d664960bf12b8bc84",
      "parents": [
        "3c289ba7c320560ee74979a8895141c829046a2d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 20 09:48:47 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 21 16:16:37 2009 +0100"
      },
      "message": "blktrace: don\u0027t increase blk_probes_ref if failed to setup blk trace\n\ndo_blk_trace_setup() may return EBUSY, but the current code\ndoesn\u0027t decrease blk_probes_ref in this case.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49C2F5FF.80002@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c289ba7c320560ee74979a8895141c829046a2d",
      "tree": "293c9d1d931c06acf06998a6ea052193c0a8cf4e",
      "parents": [
        "5006ea73f38caef6065d1136808413813271633f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 20 09:48:26 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 21 16:16:25 2009 +0100"
      },
      "message": "blktrace: remove blk_probe_mutex\n\nblk_register_tracepoints() always returns 0, so make it return void,\nthus we don\u0027t need to use blk_probe_mutex to protect blk_probes_ref.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49C2F5EA.8060606@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5006ea73f38caef6065d1136808413813271633f",
      "tree": "296d4f15e625303cdd111f29d990cef3c3be85c5",
      "parents": [
        "1a17662ea033674a58bad3603531b0b5d42572f6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 20 09:48:03 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 21 16:16:13 2009 +0100"
      },
      "message": "blktrace: make blk_tracer_enabled a bool flag\n\nIt doesn\u0027t have to be a counter, and it can be a bool flag instead.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c49C2F5D3.8090104@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1a17662ea033674a58bad3603531b0b5d42572f6",
      "tree": "157c7cdeab1192136f94ffe8098a368aea9c1437",
      "parents": [
        "22de89b371a18086162eacd9f8c960299334ab01"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Mar 20 09:47:30 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 21 16:15:47 2009 +0100"
      },
      "message": "blktrace: fix possible memory leak\n\nWhen we failed to create \"block\" debugfs dir, we should do some\ncleanups.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49C2F5B2.8000800@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ca530852346be239b7c19e7bec5d2b78855bebe",
      "tree": "96e5252faaf362115a96ed6df7c4e4f698a027dc",
      "parents": [
        "03303549b1695dc024d4a653cc16bd79f78f9750"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 19:20:15 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Mar 16 23:27:06 2009 -0400"
      },
      "message": "tracing: protect reader of cmdline output\n\nImpact: fix to one cause of incorrect comm outputs in trace\n\nThe spinlock only protected the creation of a comm \u003c\u003d\u003e pid pair.\nBut it was possible that a reader could look up a pid, and get the\nwrong comm because it had no locking.\n\nThis also required changing trace_find_cmdline to copy the comm cache\nand not just send back a pointer to it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "e2b8b2808538a91444e78c7db5a30519cadd09b2",
      "tree": "60c45581817db746bd61670f5c95b19c2661daa0",
      "parents": [
        "4dd163a0512eb91bbcf4e66d2f65b8e4042561b3",
        "ef18012b248b47ec9a12c3a83ca5e99782d39c5d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 22:55:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 22:55:31 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/ftrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace\n"
    },
    {
      "commit": "ef18012b248b47ec9a12c3a83ca5e99782d39c5d",
      "tree": "8103b4d14c6b81a6a5ec39cd43e4ca7ffb51625d",
      "parents": [
        "0e3d0f0566f3fcf664782f597070bbc669d78454"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 10 14:10:56 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 10 14:13:14 2009 -0400"
      },
      "message": "tracing: remove funky whitespace in the trace code\n\nImpact: clean up\n\nThere existed a lot of \u003cspace\u003e\u003ctab\u003e\u0027s in the tracing code. This\npatch removes them.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "f0ef03985130287c6c84ebe69416cf790e6cc00e",
      "tree": "3ecb04cc4d82e5fc3ae5f1747e6da172ae8cbcb7",
      "parents": [
        "16097439703bcd38e9fe5608c12add6dacb825ea",
        "31bbed527e7039203920c51c9fb48c27aed0820c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 16:44:14 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 16:45:01 2009 +0100"
      },
      "message": "Merge branch \u0027x86/core\u0027 into tracing/textedit\n\nConflicts:\n\tarch/x86/Kconfig\n\tblock/blktrace.c\n\tkernel/irq/handle.c\n\nSemantic conflict:\n\tkernel/trace/blktrace.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5fd73f862468280d4cbb5ba4321502f911f9f89a",
      "tree": "3c96f61dea5280784560a8b9252fe13a84149421",
      "parents": [
        "c032ef64d680717e4e8ce3da65da6419a35f8a2c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:42:04 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 04 21:42:04 2009 -0500"
      },
      "message": "tracing: remove extra latency_trace method from trace structure\n\nImpact: clean up\n\nThe trace and latency_trace function pointers are identical for\nevery tracer but the function tracer. The differences in the function\ntracer are trivial (latency output puts paranthesis around parent).\n\nThis patch removes the latency_trace pointer and all prints will\nnow just use the trace output function pointer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "72c26c9a26ea7f2f3d14f162c2ebb07805f724ea",
      "tree": "bf1b4bc0b69f96c79474f9edb9cf0e811c95f2dc",
      "parents": [
        "37bd824a35a60abc73e5fa8816bd5f50c913d69b",
        "ba95fd47d177d46743ad94055908d22840370e06"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 09:00:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 09:00:35 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/blktrace\n\nConflicts:\n\tblock/blktrace.c\n\nSemantic merge:\n\tkernel/trace/blktrace.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2db270a80b8f2238e536876cfb3987af02684df8",
      "tree": "352bf63f9d48cf686a2a36c157707789a29fe7d1",
      "parents": [
        "44b0635481437140b0e29d6023f05e805d5e7620"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Feb 07 20:46:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 10:51:02 2009 +0100"
      },
      "message": "tracing/blktrace: move the tracing file to kernel/trace\n\nImpact: cleanup\n\nMove blktrace.c to kernel/trace, also move its config entry.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6f11df26fdc28324cf9c9e3b77f2dc985c1bb13",
      "tree": "e03b4b8b9dad8a2d3f81574c10aab8fb7a779cbb",
      "parents": [
        "51a763dd84253bab1d0a1e68e11a7753d1b702ca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 18:02:00 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:01:41 2009 +0100"
      },
      "message": "trace: Call tracing_reset_online_cpus before tracer-\u003einit()\n\nImpact: cleanup\n\nTo make it easy for ftrace plugin writers, as this was open coded in\nthe existing plugins\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "51a763dd84253bab1d0a1e68e11a7753d1b702ca",
      "tree": "2cc2cf0509db480391c585786285267e360c1338",
      "parents": [
        "0a9877514c4fed10a70720293b37213dd172ee3e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 16:14:13 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:01:41 2009 +0100"
      },
      "message": "tracing: Introduce trace_buffer_{lock_reserve,unlock_commit}\n\nImpact: new API\n\nThese new functions do what previously was being open coded, reducing\nthe number of details ftrace plugin writers have to worry about.\n\nIt also standardizes the handling of stacktrace, userstacktrace and\nother trace options we may introduce in the future.\n\nWith this patch, for instance, the blk tracer (and some others already\nin the tree) can use the \"userstacktrace\" /d/tracing/trace_options\nfacility.\n\n$ codiff /tmp/vmlinux.before /tmp/vmlinux.after\nlinux-2.6-tip/kernel/trace/trace.c:\n  trace_vprintk              |   -5\n  trace_graph_return         |  -22\n  trace_graph_entry          |  -26\n  trace_function             |  -45\n  __ftrace_trace_stack       |  -27\n  ftrace_trace_userstack     |  -29\n  tracing_sched_switch_trace |  -66\n  tracing_stop               |   +1\n  trace_seq_to_user          |   -1\n  ftrace_trace_special       |  -63\n  ftrace_special             |   +1\n  tracing_sched_wakeup_trace |  -70\n  tracing_reset_online_cpus  |   -1\n 13 functions changed, 2 bytes added, 355 bytes removed, diff: -353\n\nlinux-2.6-tip/block/blktrace.c:\n  __blk_add_trace |  -58\n 1 function changed, 58 bytes removed, diff: -58\n\nlinux-2.6-tip/kernel/trace/trace.c:\n  trace_buffer_lock_reserve  |  +88\n  trace_buffer_unlock_commit |  +86\n 2 functions changed, 174 bytes added, diff: +174\n\n/tmp/vmlinux.after:\n 16 functions changed, 176 bytes added, 413 bytes removed, diff: -237\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a9877514c4fed10a70720293b37213dd172ee3e",
      "tree": "7f21548126d448d96116f57f2c7927fa2b2c7ddd",
      "parents": [
        "dac74940289f350c2590bec92737833bad608541"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 16:12:56 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:01:40 2009 +0100"
      },
      "message": "ring_buffer: remove unused flags parameter\n\nImpact: API change, cleanup\n\n\u003eFrom ring_buffer_{lock_reserve,unlock_commit}.\n\n$ codiff /tmp/vmlinux.before /tmp/vmlinux.after\nlinux-2.6-tip/kernel/trace/trace.c:\n  trace_vprintk              |  -14\n  trace_graph_return         |  -14\n  trace_graph_entry          |  -10\n  trace_function             |   -8\n  __ftrace_trace_stack       |   -8\n  ftrace_trace_userstack     |   -8\n  tracing_sched_switch_trace |   -8\n  ftrace_trace_special       |  -12\n  tracing_sched_wakeup_trace |   -8\n 9 functions changed, 90 bytes removed, diff: -90\n\nlinux-2.6-tip/block/blktrace.c:\n  __blk_add_trace |   -1\n 1 function changed, 1 bytes removed, diff: -1\n\n/tmp/vmlinux.after:\n 10 functions changed, 91 bytes removed, diff: -91\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7be421510b91491d5aa5a29fa1005712039b95af",
      "tree": "43c85cd688ea4e33b32816bb3f363215d572f052",
      "parents": [
        "97e5b191ae7dc0f4f5b82b9db29782928b103b4d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 01:13:37 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 14:35:47 2009 +0100"
      },
      "message": "trace: Remove unused trace_array_cpu parameter\n\nImpact: cleanup\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "268ccda0cb4d1292029d07ee3dbd07117baf6ecb",
      "tree": "7683e02758d3f768ad21414abf39b00773e87940",
      "parents": [
        "43769f10b4826376cbf4ce17af74a5b4e8dc4fcd"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Feb 04 20:16:39 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 14:35:46 2009 +0100"
      },
      "message": "trace: assign defaults at register_ftrace_event\n\nImpact: simplification of tracers\n\nAs all tracers are doing this we might as well do it in\nregister_ftrace_event and save one branch each time we call these\ncallbacks.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae7462b4f1fe1f36b5d562dbd5202a2eba01f072",
      "tree": "ceb9db3c0e90d4a459dac695ca7b2e2fddf70b32",
      "parents": [
        "d9793bd8018f835c64b10f44e278c86cecb8e932"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 03 22:05:50 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 20:48:39 2009 +0100"
      },
      "message": "trace: make the trace_event callbacks return enum print_line_t\n\nAs they actually all return these enumerators.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d9793bd8018f835c64b10f44e278c86cecb8e932",
      "tree": "da5ad9bc8f3fc7b4eb4ecd398f7c52a6f112d544",
      "parents": [
        "ce70a0b472e06feae3a580ecb3fbef1e1e020a9b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 03 20:20:41 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 20:48:30 2009 +0100"
      },
      "message": "trace: judicious error checking of trace_seq results\n\nImpact: bugfix and cleanup\n\nSome callsites were returning either TRACE_ITER_PARTIAL_LINE if the\ntrace_seq routines (trace_seq_printf, etc) returned 0 meaning its buffer\nwas full, or zero otherwise.\n\nBut...\n\n/* Return values for print_line callback */\nenum print_line_t {\n        TRACE_TYPE_PARTIAL_LINE \u003d 0,    /* Retry after flushing the seq */\n        TRACE_TYPE_HANDLED      \u003d 1,\n        TRACE_TYPE_UNHANDLED    \u003d 2     /* Relay to other output functions */\n};\n\nIn other cases the return value was not being relayed at all.\n\nMost of the time it didn\u0027t hurt because the page wasn\u0027t get filled, but\nfor correctness sake, handle the return values everywhere.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "939b366977d29b5c0d53d1ea3b0b8cefb1e76202",
      "tree": "0fe79dcefcea4a899d8c5df355f2281670fa4398",
      "parents": [
        "08a06b83ff8b2779289f733348c669f31cb65d51"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 03 11:58:29 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 16:21:34 2009 +0100"
      },
      "message": "blktrace: fix coding style in recent patches\n\nImpact: cleanup\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08a06b83ff8b2779289f733348c669f31cb65d51",
      "tree": "c8d5c13361ff9aa8e45cd660fbcad264b8310100",
      "parents": [
        "2c9b238eb325895d3312dad64e2685783575e474"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Feb 02 20:30:40 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 14:03:53 2009 +0100"
      },
      "message": "blkftrace: binary tracing, synthesizing old format\n\nImpact: new feature\n\nWith this and a blkrawverify modified not to verify the sequence numbers\nwe can start using the userspace tools to verify that the data produced\nwith the ftrace plugin works as expected.\n\nExample:\n\n[root@f10-1 ~]# echo 1 \u003e /sys/block/sda/sda1/trace/enable\n[root@f10-1 ~]# echo bin \u003e /d/tracing/trace_options\n[root@f10-1 ~]# echo blk \u003e /d/tracing/current_tracer\n[root@f10-1 ~]# cat /d/tracing/trace_pipe \u003e sda1.blktrace.0\n^C\n[root@f10-1 ~]# ./blkrawverify --noseq sda1\nVerifying sda1\n    CPU 0\nWrote output to sda1.verify.out\n[root@f10-1 ~]# cat sda1.verify.out\n\n---------------\nVerifying sda1\n    ---------------------\n    Summary for cpu 0:\n          1349 valid +          0 invalid (100.0%) processed\n\n[root@f10-1 ~]#\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c9b238eb325895d3312dad64e2685783575e474",
      "tree": "1c64910c6084c53b9d9a458a34568ccb083419e8",
      "parents": [
        "c4a8e8be2d43cc22b371e8e9c05c253409759d94"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Feb 02 20:30:12 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 14:03:52 2009 +0100"
      },
      "message": "trace: Change struct trace_event callbacks parameter list\n\nImpact: API change\n\nThe trace_seq and trace_entry are in trace_iterator, where there are\nmore fields that may be needed by tracers, so just pass the\ntracer_iterator as is already the case for struct tracer-\u003eprint_line.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc573f9b20c8710105ac35c08ed0fe1da5160ecd",
      "tree": "24db0a0f6364b78f9c74e62541d26155e785b8f9",
      "parents": [
        "b3a8c34886d0e3dd3a24a5b614ee025181da2f41",
        "ecf441b593ac41cb8cd8cd3695110167c42e098c",
        "b1792e367053968f2ddb48bc911d314143ce6242"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 06:25:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 06:25:38 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/kmemtrace\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "f48fc4d32e24c0b6a18aad30305d819bcc68c049",
      "tree": "d993ccadfe87a0c481fba7e697107bb5cc701b4a",
      "parents": [
        "322316385dde5cd879e682bcb598c56d0659fb60"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 05 10:17:25 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:36 2009 +0100"
      },
      "message": "block: get rid of the manual directory counting in blktrace\n\nIt can result in a stuck blktrace system, if --kill is used.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "700a3dcb9036d17d3a67d0a7ceee9d4373fbb570",
      "tree": "ff3d7daf41c646c22e2a877a8d97fd466ac3c4fe",
      "parents": [
        "ce181ebeff398e7d1a9c6cb92eb035a6d2d07489"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Jan 28 12:33:56 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 29 14:28:30 2009 +0100"
      },
      "message": "blktrace: Use tracing_reset_online_cpus\n\nImpact: cleanup\n\nUse tracing_reset_online_cpus instead of open coding it.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "157f9c00e88529ed84bd7d581a40d411e5414cf0",
      "tree": "7d7360cd76c5339c831e0e5ffd3cce5a659a9614",
      "parents": [
        "c71a896154119f4ca9e89d6078f5f63ad60ef199"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 26 15:00:56 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 18:30:01 2009 +0100"
      },
      "message": "tracing/blktrace: fix up checkpatch reported problems in ftrace plugin patch\n\nAlso make sure sparse (make C\u003d2 block/blktrace.o) is happy too.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c71a896154119f4ca9e89d6078f5f63ad60ef199",
      "tree": "0018ea80af12d6385fd0aa5295dddefdb284eebe",
      "parents": [
        "9011262a37cb438f0fa9394b5e83840db8f9680a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 23 12:06:27 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 14:40:53 2009 +0100"
      },
      "message": "blktrace: add ftrace plugin\n\nImpact: New way of using the blktrace infrastructure\n\nThis drops the requirement of userspace utilities to use the blktrace\nfacility.\n\nConfiguration is done thru sysfs, adding a \"trace\" directory to the\npartition directory where blktrace can be enabled for the associated\nrequest_queue.\n\nThe same filters present in the IOCTL interface are present as sysfs\ndevice attributes.\n\nThe /sys/block/sdX/sdXN/trace/enable file allows tracing without any\nfilters.\n\nThe other files in this directory: pid, act_mask, start_lba and end_lba\ncan be used with the same meaning as with the IOCTL interface.\n\nUsing the sysfs interface will only setup the request_queue-\u003eblk_trace\nfields, tracing will only take place when the \"blk\" tracer is selected\nvia the ftrace interface, as in the following example:\n\nTo see the trace, one can use the /d/tracing/trace file or the\n/d/tracign/trace_pipe file, with semantics defined in the ftrace\ndocumentation in Documentation/ftrace.txt.\n\n[root@f10-1 ~]# cat /t/trace\n       kjournald-305   [000]  3046.491224:   8,1    A WBS 6367 + 8 \u003c- (8,1) 6304\n       kjournald-305   [000]  3046.491227:   8,1    Q   R 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491236:   8,1    G  RB 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491239:   8,1    P  NS [kjournald]\n       kjournald-305   [000]  3046.491242:   8,1    I RBS 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491251:   8,1    D  WB 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491610:   8,1    U  WS [kjournald] 1\n          \u003cidle\u003e-0     [000]  3046.511914:   8,1    C  RS 6367 + 8 [6367]\n[root@f10-1 ~]#\n\nThe default line context (prefix) format is the one described in the ftrace\ndocumentation, with the blktrace specific bits using its existing format,\ndescribed in blkparse(8).\n\nIf one wants to have the classic blktrace formatting, this is possible by\nusing:\n\n[root@f10-1 ~]# echo blk_classic \u003e /t/trace_options\n[root@f10-1 ~]# cat /t/trace\n  8,1    0  3046.491224   305  A WBS 6367 + 8 \u003c- (8,1) 6304\n  8,1    0  3046.491227   305  Q   R 6367 + 8 [kjournald]\n  8,1    0  3046.491236   305  G  RB 6367 + 8 [kjournald]\n  8,1    0  3046.491239   305  P  NS [kjournald]\n  8,1    0  3046.491242   305  I RBS 6367 + 8 [kjournald]\n  8,1    0  3046.491251   305  D  WB 6367 + 8 [kjournald]\n  8,1    0  3046.491610   305  U  WS [kjournald] 1\n  8,1    0  3046.511914     0  C  RS 6367 + 8 [6367]\n[root@f10-1 ~]#\n\nUsing the ftrace standard format allows more flexibility, such\nas the ability of asking for backtraces via trace_options:\n\n[root@f10-1 ~]# echo noblk_classic \u003e /t/trace_options\n[root@f10-1 ~]# echo stacktrace \u003e /t/trace_options\n\n[root@f10-1 ~]# cat /t/trace\n       kjournald-305   [000]  3318.826779:   8,1    A WBS 6375 + 8 \u003c- (8,1) 6312\n       kjournald-305   [000]  3318.826782:\n \u003c\u003d submit_bio\n \u003c\u003d submit_bh\n \u003c\u003d sync_dirty_buffer\n \u003c\u003d journal_commit_transaction\n \u003c\u003d kjournald\n \u003c\u003d kthread\n \u003c\u003d child_rip\n       kjournald-305   [000]  3318.826836:   8,1    Q   R 6375 + 8 [kjournald]\n       kjournald-305   [000]  3318.826837:\n \u003c\u003d generic_make_request\n \u003c\u003d submit_bio\n \u003c\u003d submit_bh\n \u003c\u003d sync_dirty_buffer\n \u003c\u003d journal_commit_transaction\n \u003c\u003d kjournald\n \u003c\u003d kthread\n\nPlease read the ftrace documentation to use aditional, standardized\ntracing filters such as /d/tracing/trace_cpumask, etc.\n\nSee also /d/tracing/trace_mark to add comments in the trace stream,\nthat is equivalent to the /d/block/sdaN/msg interface.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f3ea37c7716db4e894a480e0c18b24399595b6b",
      "tree": "db6784635d024894f641b340dcd7c5060c446077",
      "parents": [
        "509dceef6470442d8c7b8a43ec34125205840b3c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Oct 30 08:34:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 12:13:34 2008 +0100"
      },
      "message": "blktrace: port to tracepoints\n\nThis was a forward port of work done by Mathieu Desnoyers, I changed it to\nencode the \u0027what\u0027 parameter on the tracepoint name, so that one can register\ninterest in specific events and not on classes of events to then check the\n\u0027what\u0027 parameter.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0497b345e7d067109e0dd9bf9f4978a6847ee13b",
      "tree": "8c181a200c9e883a9c85169dff887bfb9109ee5e",
      "parents": [
        "ef9e3facdf1fe1228721a7c295a76d1b7a0e57ec"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 01 16:16:25 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:20 2008 +0200"
      },
      "message": "blktrace: use BLKTRACE_BDEV_SIZE as the name size for setup structure\n\nDefine as 32, which is is what BDEVNAME_SIZE is/was as well. This keeps\nthe user interface the same and gets rid of the difference between\nkernel and user api here.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "35ba8f7083e87602b695d6eaca38a6464d5b74db",
      "tree": "dd9e515480ec307cf12378f13b01c7922cf3266c",
      "parents": [
        "27b29e86bf3d4b3cf6641a0efd78ed11a9b633b2"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun Aug 10 12:33:00 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:01 2008 +0200"
      },
      "message": "blktrace: simplify flags handling in __blk_add_trace\n\nLet the compiler see what\u0027s going on, and it can all get a lot simpler.\nOn PPC64 this reduces the size of the code calculating these bits by\nabout 60%. On x86_64 it\u0027s less of a win -- only 40%.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "27b29e86bf3d4b3cf6641a0efd78ed11a9b633b2",
      "tree": "0cfa20e8f07ee9d57e43a5371b4d97eeb8202081",
      "parents": [
        "fdc53971bce56d299cb5f1f06ecbff30b34cbaf2"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun Aug 10 11:21:57 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:01 2008 +0200"
      },
      "message": "blktrace: support discard requests\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "02c62304e6af60f1963695c6bc1bbffe619aa585",
      "tree": "6668092ab6514981926f30ec7f9bab262bfd281b",
      "parents": [
        "7b679138b3237a9a3d45a4fda23a58ac79cd279c"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "Alan.Brunelle@hp.com",
        "time": "Wed Jun 11 09:12:52 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 03 13:21:12 2008 +0200"
      },
      "message": "Added in user-injected messages into blk traces\n\nThis allows a user to annotate the blk trace stream: writing a suitable\nmessage to {/sys/kernel/debug}/block/\u003cdsf\u003e/msg will have it propagated\ninto the trace stream.\n\nSigned-off-by: Alan D. Brunelle \u003calan.brunelle@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "14a73f54798f39854e521fb596da7d50b7566bbd",
      "tree": "2c9055792b004d21a9ca52660b036ca92de057ea",
      "parents": [
        "95dcf8350dc889e735d03c0debe2f7b26d243185"
      ],
      "author": {
        "name": "Carl Henrik Lunde",
        "email": "chlunde@ping.uio.no",
        "time": "Thu Jun 12 20:13:58 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 11:20:57 2008 -0700"
      },
      "message": "block: disable IRQs until data is written to relay channel\n\nAs we may run relay_reserve from interrupt context we must always disable\nIRQs.  This is because a call to relay_reserve may expose previously written\ndata to use space.\n\nUpdated new message code and an old but related comment.\n\nSigned-off-by: Carl Henrik Lunde \u003cchlunde@ping.uio.no\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64565911cdb57c2f512a9715b985b5617402cc67",
      "tree": "1c8a3d03fcb0e620c8f2244962fb249cff51fec4",
      "parents": [
        "4722dc52a891ab6cb2d637ddb87233e0ce277827"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed May 28 14:45:33 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed May 28 14:49:27 2008 +0200"
      },
      "message": "block: make blktrace use per-cpu buffers for message notes\n\nCurrently it uses a single static char array, but that risks\nbeing corrupted when multiple users issue message notes at the\nsame time. Make the buffers dynamically allocated when the trace\nis setup and make them per-cpu instead.\n\nThe default max message size of 1k is also very large, the\ninterface is mainly for small text notes. So shrink it to 128 bytes.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9d5f09a424a67ddb959829894efb4c71cbf6d600",
      "tree": "9d5cd1736003591193479a98d4b67fe8cfa2e7f3",
      "parents": [
        "be754d2c2161c0cce11d62727016985ecb76831b"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "Alan.Brunelle@hp.com",
        "time": "Tue May 27 14:54:41 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed May 28 14:49:27 2008 +0200"
      },
      "message": "Added in MESSAGE notes for blktraces\n\nAllows messages to be inserted into blktrace streams.\n\nSigned-off-by: Alan D. Brunelle \u003calan.brunelle@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f36f21ecca9ee688301174e5f2e0827827a7a7ff",
      "tree": "b147bb5cc37683dfe01c86fba634808aa2ff567d",
      "parents": [
        "78bb6cb9a890d3d50ca3b02fce9223d3e734ab9b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon May 12 14:02:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:26 2008 -0700"
      },
      "message": "Fix misuses of bdevname()\n\nbdevname() fills the buffer that it is given as a parameter, so calling\nstrcpy() or snprintf() on the returned value is redundant (and probably not\nguaranteed to work - I don\u0027t think strcpy and snprintf support overlapping\nbuffers.)\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6da127ad0918f93ea93678dad62ce15ffed18797",
      "tree": "b2bf9ad228f18c643342ad376136d2f6b4be4137",
      "parents": [
        "91525300baf162e83e923b09ca286f9205e21522"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Jan 11 10:09:43 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 28 10:04:46 2008 +0100"
      },
      "message": "blktrace: Add blktrace ioctls to SCSI generic devices\n\nSince the SCSI layer uses the request queues from the block layer, blktrace can\nalso be used to trace the requests to all SCSI devices (like SCSI tape drives),\nnot only disks. The only missing part is the ioctl interface to start and stop\ntracing.\n\nThis patch adds the SETUP, START, STOP and TEARDOWN ioctls from blktrace to the\nsg device files. With this change, blktrace can be used for SCSI devices like\nfor disks, e.g.: blktrace -d /dev/sg1 -o - | blkparse -i -\n\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "11a57153e3377ffdf8cfca2eda9a99063f66b957",
      "tree": "ae9090abda695fda0885b189aa234727f2c6e2b4",
      "parents": [
        "2997c8c4a0b179e8b834a7f30ba4323f2c60ccf4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 11 13:37:01 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 11 13:37:01 2008 +0100"
      },
      "message": "blktrace: kill the unneeded initcall\n\nIt just inits the mutex, we can do that with DEFINE_MUTEX() instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2997c8c4a0b179e8b834a7f30ba4323f2c60ccf4",
      "tree": "319fa1c24c380544233890d6ff480a181bf80e96",
      "parents": [
        "a24eab1ed506f3e0bcbcd3f619558935549d4ace"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 11 13:35:54 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 11 13:35:54 2008 +0100"
      },
      "message": "block: fix blktrace timestamps\n\nDavid Dillow reported broken blktrace timestamps. The reason\nis cpu_clock() which is not a global time source.\n\nFix bkltrace timestamps by using ktime_get() like the networking\ncode does for packet timestamps. This also removes a whole lot\nof complexity from bkltrace.c and shrinks the code by 500 bytes:\n\n   text    data     bss     dec     hex filename\n   2888     124      44    3056     bf0 blktrace.o.before\n   2390     116      44    2550     9f6 blktrace.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "35fc51e7a5056889421270c1fb63d8ec45fbccf4",
      "tree": "775462a1cc541b5442648343293f50263f5beb45",
      "parents": [
        "8c27eba54970c6ebbb408186e5baa2274435e869"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Nov 21 12:25:41 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 27 09:19:39 2007 +0100"
      },
      "message": "blktrace: Make sure BLKTRACETEARDOWN does the full cleanup.\n\nif blktrace program segfault it will not be able\nto call BLKTRACETEARDOWN. Now if we run the blktrace\nagain that would result in a failure to create the\nblock/\u003cdevice\u003e debugfs directory.This will result\nin blk_remove_root() to be called which will set\nblk_tree_root to NULL. But the  debugfs block dir\nstill exist because it contain subdirectory.\n\nNow if we try to fix it using BLKTRACETEARDOWN\nit won\u0027t work because blk_tree_root is NULL.\n\nFix the same.\n\nTested as below\n\nroot@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -d /dev/hdc\nSegmentation fault\nroot@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -d /dev/hdc\nBLKTRACESETUP: No such file or directory\nFailed to start trace on /dev/hdc\nroot@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -k /dev/hdc\nroot@qemu-image:/home/kvaneesh/blktrace# ./blktrace  -d /dev/hdc\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d5a7430ddcdb598261d70f7eb1bf450b5be52085",
      "tree": "3b94672e0dbc2bff125de3266908f1a47a17b795",
      "parents": [
        "083576112940fda783d716fd5ccc744f81667b2f"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Oct 16 01:24:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:50 2007 -0700"
      },
      "message": "Convert cpu_sibling_map to be a per cpu variable\n\nConvert cpu_sibling_map from a static array sized by NR_CPUS to a per_cpu\nvariable.  This saves sizeof(cpumask_t) * NR unused cpus.  Access is mostly\nfrom startup and CPU HOTPLUG functions.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "171044d449611c6e5040b37210ff6aba47f33ee4",
      "tree": "74a380863b395f9db13f2da333e91cd817dc4970",
      "parents": [
        "7199d4cdd8485f802df3e1bc131245c69009b9a4"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Oct 09 13:23:53 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:26:00 2007 +0200"
      },
      "message": "compat_ioctl: handle blk_trace ioctls\n\nblk_trace_setup is broken on x86_64 compat systems,\nthis makes the code work correctly on all 64 bit architectures\nin compat mode.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ],
  "next": "7c2ff389bbb33074e7fde7a744f59da199a74af5"
}
