{"push_id":1348438666,"size":9,"distinct_size":9,"ref":"refs/heads/stable/10","head":"1f5debbf28788b08460cdb78b99f5a4f0d8bd448","before":"e7dc33f8552b110df6547512b07cd1c13c36951a","commits":[{"sha":"9d8a32349ffc28c466e9a7ab15f725264d5f1a33","author":{"name":"mav","email":"a9bcd1b9f954a1eccb9b7f5cfa8807256cd67e88@FreeBSD.org"},"message":"MFC r305327: MFV r303080: 6451 ztest fails due to checksum errors\n\nillumos/illumos-gate@f9eb9fdf196b6ed476e4ffc69cecd8b0da3cb7e7\nhttps://github.com/illumos/illumos-gate/commit/f9eb9fdf196b6ed476e4ffc69cecd8b0d\na3cb7e7\n\nhttps://www.illumos.org/issues/6451\n  Sometimes ztest fails because zdb detects checksum errors. e.g.:\n  Traversing all blocks to verify checksums and verify nothing leaked ...\n  zdb_blkptr_cb: Got error 50 reading <71, 47, 0, 8000160> DVA0=<0:1cc2000:\n  180000> [L0 other uint64[]] sha256 uncompressed LE contiguou\n  s unique single size=100000L/100000P birth=271L/271P fill=1\n  cksum=c5a3e27d1ed0f894:843bca3a5473c4bf:f76a19b6830a2e4:91292591613a12bf --\n  skipping\n  zdb_blkptr_cb: Got error 50 reading <71, 47, 0, 800000180> DVA0=<0:ce16800:\n  180000> [L0 other uint64[]] sha256 uncompressed LE contigu\n  ous unique single size=100000L/100000P birth=840L/840P fill=1\n  cksum=5d018f3d061e17f3:6d1584784587bf63:2805a74a0ce37369:ba68a214806c7e75\n  -- skipping\n  zdb_blkptr_cb: Got error 50 reading <71, 47, 0, 1000000360> DVA0=<0:10d37400:\n  180000> [L0 other uint64[]] sha256 uncompressed LE conti\n  guous unique single size=100000L/100000P birth=904L/904P fill=1\n  cksum=fa1e11d4138bd14b:86c9488c444473e3:f31e43c72e72e46b:e3446472d1174d\n  ba -- skipping\n  zdb_blkptr_cb: Got error 50 reading <71, 47, 0, 400000002c0> DVA0=<0:127ef400:\n  180000> [L0 other uint64[]] sha256 uncompressed LE cont\n  iguous dedup single size=100000L/100000P birth=549L/549P fill=1\n  cksum=30e14955ebf13522:66dc2ff8067e6810:4607e750abb9d3b3:6582b8af909fcb\n  58 -- skipping\n  zdb_blkptr_cb: Got error 50 reading <657, 5, 0, 1c0> DVA0=<0:1a180400:180000>\n  [L0 other uint64[]] fletcher4 uncompressed LE contiguou\n  s unique single size=100000L/100000P birth=1091L/1091P fill=1 cksum=a6cf1e50:\n  29b3bd01c57e5:36779b914035db9a:db61cdcf6bec56f0 -- skippin\n  g\n  The problem is that ztest_fault_inject() can inject multiple faults into the\n  same block. It is designed such that it can inject errors on all leafs of a\n  RAID-Z or mirror, but for a given range of offsets, it will only inject errors\n\nReviewed by: George Wilson <george.wilson@delphix.com>\nReviewed by: Prakash Surya <prakash.surya@delphix.com>\nReviewed by: Jorgen Lundman <lundman@lundman.net>\nApproved by: Dan McDonald <danmcd@omniti.com>\nAuthor: Matthew Ahrens <mahrens@delphix.com>","distinct":true,"url":"https://api.github.com/repos/pfsense/FreeBSD-src/commits/9d8a32349ffc28c466e9a7ab15f725264d5f1a33"},{"sha":"31639742e4524e2d518502cb2dde45f4b16a015b","author":{"name":"mav","email":"a9bcd1b9f954a1eccb9b7f5cfa8807256cd67e88@FreeBSD.org"},"message":"MFC r305328: MFV r303081: 7163 ztest failures due to excess error injection\n\nillumos/illumos-gate@f34284d835bc555f987c1310df46c034c3101155\nhttps://github.com/illumos/illumos-gate/commit/f34284d835bc555f987c1310df46c034c\n3101155\n\nhttps://www.illumos.org/issues/7163\n  Running zloop from zfs-precommit hit this assertion:\n       *panicstr/s\n  0xfffffd7fd7419370: assertion failed for thread 0xfffffd7fe29ed240,\n  thread-id 577: parent != NULL, file ../../../uts/common/fs/zfs/dbuf.c, line\n  1827\n       $c\n  libc.so.1`_lwp_kill+0xa()\n  libc.so.1`_assfail+0x182(fffffd7ffb1c29fa, fffffd7ffb1cc028, 723)\n  libc.so.1`assfail+0x19(fffffd7ffb1c29fa, fffffd7ffb1cc028, 723)\n  libzpool.so.1`dbuf_dirty+0xc69(10e3bc10, 3601700)\n  libzpool.so.1`dbuf_dirty+0x61e(10c73640, 3601700)\n  libzpool.so.1`dbuf_dirty+0x61e(10e28280, 3601700)\n  libzpool.so.1`dmu_buf_will_fill+0x64(10e28280, 3601700)\n  libzpool.so.1`dmu_write+0x1b6(2c7e640, d, 400000002e000000, 200, 3717b40,\n  3601700)\n  ztest_replay_write+0x568(4950d0, 3717a80, 0)\n  ztest_write+0x125(4950d0, d, 400000002e000000, 200, 413f000)\n  ztest_io+0x1bb(4950d0, d, 400000002e000000)\n  ztest_dmu_write_parallel+0xaa(4950d0, 6)\n  ztest_execute+0x83(1, 420c98, 6)\n  ztest_thread+0xf4(6)\n  libc.so.1`_thrp_setup+0x8a(fffffd7fe29ed240)\n  libc.so.1`_lwp_start()\n  This is another manifestation of ECKSUM in ztest:\n  The lowest level ancestor that’s in memory is the L8 (topmost). The L7\n  ancestor is blkid 0x10:\n       ::dbufs -O 0x2c7e640 -o d -l 7 |::dbuf\n  addr object lvl blkid holds os\n  600be50 d 7 4 1 ztest/ds_6\n  719d880 d 7 0 4 ztest/ds_6\n\nReviewed by: George Wilson <george.wilson@delphix.com>\nReviewed by: Paul Dagnelie <pcd@delphix.com>\nApproved by: Robert Mustacchi <rm@joyent.com>\nAuthor: Matthew Ahrens <mahrens@delphix.com>","distinct":true,"url":"https://api.github.com/repos/pfsense/FreeBSD-src/commits/31639742e4524e2d518502cb2dde45f4b16a015b"},{"sha":"abee620b90ee78d42fe90dfe3b0fd4c17bc19450","author":{"name":"mav","email":"a9bcd1b9f954a1eccb9b7f5cfa8807256cd67e88@FreeBSD.org"},"message":"MFC r305331: MFV r304155:\n7090 zfs should improve allocation order and throttle allocations\n\nillumos/illumos-gate@0f7643c7376dd69a08acbfc9d1d7d548b10c846a\nhttps://github.com/illumos/illumos-gate/commit/0f7643c7376dd69a08acbfc9d1d7d548b\n10c846a\n\nhttps://www.illumos.org/issues/7090\n  When write I/Os are issued, they are issued in block order but the ZIO pipelin\ne\n  will drive them asynchronously through the allocation stage which can result i\nn\n  blocks being allocated out-of-order. It would be nice to preserve as much of\n  the logical order as possible.\n  In addition, the allocations are equally scattered across all top-level VDEVs\n  but not all top-level VDEVs are created equally. The pipeline should be able t\no\n  detect devices that are more capable of handling allocations and should\n  allocate more blocks to those devices. This allows for dynamic allocation\n  distribution when devices are imbalanced as fuller devices will tend to be\n  slower than empty devices.\n  The change includes a new pool-wide allocation queue which would throttle and\n  order allocations in the ZIO pipeline. The queue would be ordered by issued\n  time and offset and would provide an initial amount of allocation of work to\n  each top-level vdev. The allocation logic utilizes a reservation system to\n  reserve allocations that will be performed by the allocator. Once an allocatio\nn\n  is successfully completed it's scheduled on a given top-level vdev. Each top-\n  level vdev maintains a maximum number of allocations that it can handle\n  (mg_alloc_queue_depth). The pool-wide reserved allocations (top-levels *\n  mg_alloc_queue_depth) are distributed across the top-level vdevs metaslab\n  groups and round robin across all eligible metaslab groups to distribute the\n  work. As top-levels complete their work, they receive additional work from the\n  pool-wide allocation queue until the allocation queue is emptied.\n\nReviewed by: Adam Leventhal <ahl@delphix.com>\nReviewed by: Alex Reece <alex@delphix.com>\nReviewed by: Christopher Siden <christopher.siden@delphix.com>\nReviewed by: Dan Kimmel <dan.kimmel@delphix.com>\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\nReviewed by: Paul Dagnelie <paul.dagnelie@delphix.com>\nReviewed by: Prakash Surya <prakash.surya@delphix.com>\nReviewed by: Sebastien Roy <sebastien.roy@delphix.com>\nApproved by: Robert Mustacchi <rm@joyent.com>\nAuthor: George Wilson <george.wilson@delphix.com>","distinct":true,"url":"https://api.github.com/repos/pfsense/FreeBSD-src/commits/abee620b90ee78d42fe90dfe3b0fd4c17bc19450"},{"sha":"d30efeaec01b5e9ea9b84867f0d13e260eadefda","author":{"name":"mav","email":"a9bcd1b9f954a1eccb9b7f5cfa8807256cd67e88@FreeBSD.org"},"message":"MFC r305332: MFV r304159: 7277 zdb should be able to print zfs_dbgmsg's\n\nillumos/illumos-gate@29bdd2f916366ece37c4748bca6b3d61f57a223b\nhttps://github.com/illumos/illumos-gate/commit/29bdd2f916366ece37c4748bca6b3d61f\n57a223b\n\nhttps://www.illumos.org/issues/7277\n  ztest always prints the debug messages (zfs_dbgmsg()) by calling\n  zfs_dbgmsg_print(). We should add a flag to zdb to make it do this as well\n  before exiting.\n\nReviewed by: George Wilson <george.wilson@delphix.com>\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\nReviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>\nApproved by: Dan McDonald <danmcd@omniti.com>\nAuthor: Pavel Zakharov <pavel.zakharov@delphix.com>","distinct":true,"url":"https://api.github.com/repos/pfsense/FreeBSD-src/commits/d30efeaec01b5e9ea9b84867f0d13e260eadefda"},{"sha":"6b31955040ceebcfd990a9b37d9d2992f9f94c7f","author":{"name":"mav","email":"a9bcd1b9f954a1eccb9b7f5cfa8807256cd67e88@FreeBSD.org"},"message":"MFC r305333: MFV r304156: 7235 remove unused func dsl_dataset_set_blkptr\n\nillumos/illumos-gate@bd56f80007857b960e0981ed0797ad8ec844a96b\nhttps://github.com/illumos/illumos-gate/commit/bd56f80007857b960e0981ed0797ad8ec\n844a96b\n\nhttps://www.illumos.org/issues/7235\n  The function dsl_dataset_set_blkptr() is unused. We should remove it.\n\nReviewed by: George Wilson <george.wilson@delphix.com>\nReviewed by: Alex Reece <alex@delphix.com>\nReviewed by: Prakash Surya <prakash.surya@delphix.com>\nReviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>\nApproved by: Robert Mustacchi <rm@joyent.com>\nAuthor: Matthew Ahrens <mahrens@delphix.com>","distinct":true,"url":"https://api.github.com/repos/pfsense/FreeBSD-src/commits/6b31955040ceebcfd990a9b37d9d2992f9f94c7f"},{"sha":"d3c986dd741a3a45c2b672fab1e2ed924d6ee6b1","author":{"name":"mav","email":"a9bcd1b9f954a1eccb9b7f5cfa8807256cd67e88@FreeBSD.org"},"message":"MFC r305334: MFV r304157:\n7230 add assertions to dmu_send_impl() to verify that stream includes BEGIN and\nEND records\n\nillumos/illumos-gate@12b90ee2d3b10689fc45f4930d2392f5fe1d9cfa\nhttps://github.com/illumos/illumos-gate/commit/12b90ee2d3b10689fc45f4930d2392f5f\ne1d9cfa\n\nhttps://www.illumos.org/issues/7230\n  A test failure occurred where a send stream had only a BEGIN record. This\n  should not be possible if the send returns without error. Prevented this from\n  happening in the future by adding an assertion to dmu_send_impl() to verify\n  that if the function returns 0 (success) both a BEGIN and END record are\n  present. Did this by adding flags to dmu_sendarg_t (indicating whether BEGIN o\nr\n  END records sent), having dump_record() set flags appropriately, adding VERIFY\n  statement to dmu_send_impl().\n\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\nReviewed by: Paul Dagnelie <pcd@delphix.com>\nReviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>\nApproved by: Robert Mustacchi <rm@joyent.com>\nAuthor: Matt Krantz <matt.krantz@delphix.com>","distinct":true,"url":"https://api.github.com/repos/pfsense/FreeBSD-src/commits/d3c986dd741a3a45c2b672fab1e2ed924d6ee6b1"},{"sha":"9d79919eb31d7b8124ebe1aaae900b0258ae67e1","author":{"name":"mav","email":"a9bcd1b9f954a1eccb9b7f5cfa8807256cd67e88@FreeBSD.org"},"message":"MFC r305338: MFV r305335: 7003 zap_lockdir() should tag hold\n\nzap_lockdir() / zap_unlockdir() should take a \"void *tag\" argument which\ntags the hold on the zap. This will help diagnose programming errors\nwhich misuse the hold on the ZAP.\n\nSponsored by: Intel Corp.\n\nCloses #108\n\nReviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>\nReviewed by: Steve Gonczi <steve.gonczi@delphix.com>\nReviewed by: George Wilson <george.wilson@delphix.com>\nReviewed by: Brian Behlendorf <behlendorf1@llnl.gov>\nAuthor: Matthew Ahrens <mahrens@delphix.com>\n\nopenzfs/openzfs@0780b3eab5a2c13e04328b39ecd2a6d0d3c4f7cb","distinct":true,"url":"https://api.github.com/repos/pfsense/FreeBSD-src/commits/9d79919eb31d7b8124ebe1aaae900b0258ae67e1"},{"sha":"6ddf83c30a58a45a62eb5ec40328af32f370b376","author":{"name":"mav","email":"a9bcd1b9f954a1eccb9b7f5cfa8807256cd67e88@FreeBSD.org"},"message":"MFC r305339: MFV r305336: 7247 zfs receive of deduplicated stream fails\n\nThis resolves two 'zfs recv' issues. First, when receiving into an\nexisting filesystem, a snapshot created during the receive process is\nnot added to the guid->dataset map for the stream, resulting in failed\nlookups for deduped streams when a WRITE_BYREF record refers to a\nsnapshot received earlier in the stream. Second, the newly created\nsnapshot was also not set properly, referencing the snapshot before the\nnew receiving dataset rather than the existing filesystem.\n\nCloses #159\n\nReviewed by: Matthew Ahrens <mahrens@delphix.com>\nReviewed by: Dan Kimmel <dan.kimmel@delphix.com>\nAuthor: Chris Williamson <chris.williamson@delphix.com>\n\nopenzfs/openzfs@b09697c8c18be68abfe538de9809938239402ae8","distinct":true,"url":"https://api.github.com/repos/pfsense/FreeBSD-src/commits/6ddf83c30a58a45a62eb5ec40328af32f370b376"},{"sha":"1f5debbf28788b08460cdb78b99f5a4f0d8bd448","author":{"name":"mav","email":"a9bcd1b9f954a1eccb9b7f5cfa8807256cd67e88@FreeBSD.org"},"message":"MFC r305340: MFC r305337:\n7004 dmu_tx_hold_zap() does dnode_hold() 7x on same object\n\nUsing a benchmark which has 32 threads creating 2 million files in the\nsame directory, on a machine with 16 CPU cores, I observed poor\nperformance. I noticed that dmu_tx_hold_zap() was using about 30% of\nall CPU, and doing dnode_hold() 7 times on the same object (the ZAP\nobject that is being held).\n\ndmu_tx_hold_zap() keeps a hold on the dnode_t the entire time it is\nrunning, in dmu_tx_hold_t:txh_dnode, so it would be nice to use the\ndnode_t that we already have in hand, rather than repeatedly calling\ndnode_hold(). To do this, we need to pass the dnode_t down through\nall the intermediate calls that dmu_tx_hold_zap() makes, making these\nroutines take the dnode_t* rather than an objset_t* and a uint64_t\nobject number. In particular, the following routines will need to have\nanalogous *_by_dnode() variants created:\n\ndmu_buf_hold_noread()\ndmu_buf_hold()\nzap_lookup()\nzap_lookup_norm()\nzap_count_write()\nzap_lockdir()\nzap_count_write()\n\nThis can improve performance on the benchmark described above by 100%,\nfrom 30,000 file creations per second to 60,000. (This improvement is on\ntop of that provided by working around the object allocation issue. Peak\nperformance of ~90,000 creations per second was observed with 8 CPUs;\nadding CPUs past that decreased performance due to lock contention.) The\nCPU used by dmu_tx_hold_zap() was reduced by 88%, from 340 CPU-seconds\nto 40 CPU-seconds.\n\nSponsored by: Intel Corp.\n\nCloses #109\n\nReviewed by: Steve Gonczi <steve.gonczi@delphix.com>\nReviewed by: George Wilson <george.wilson@delphix.com>\nReviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>\nReviewed by: Ned Bass <bass6@llnl.gov>\nReviewed by: Brian Behlendorf <behlendorf1@llnl.gov>\nAuthor: Matthew Ahrens <mahrens@delphix.com>\n\nopenzfs/openzfs@d3e523d489a169ab36f9ec1b2a111a60a5563a9f","distinct":true,"url":"https://api.github.com/repos/pfsense/FreeBSD-src/commits/1f5debbf28788b08460cdb78b99f5a4f0d8bd448"}]}
{"actor":{"display_login":"pfSense-git-updates"}}