{"push_id":1549017323,"size":200,"distinct_size":200,"ref":"refs/heads/master","head":"d7958b4cda27b82bd24dd4d4b2a539e26c62a409","before":"7f547f85fe783a6ac69ce250b361436b9c4888a6","commits":[{"sha":"987014903f9d36783547188b6ad00f01d9a076bd","author":{"name":"Chunwei Chen","email":"0f79a3f764949a984b39ca36fe80e1c7836f91a4@osnexus.com"},"message":"Fix unlinked file cannot do xattr operations\n\nCurrently, doing things like fsetxattr(2) on an unlinked file will result in\nENODATA. There's two places that cause this: zfs_dirent_lock and zfs_zget.\n\nThe fix in zfs_dirent_lock is pretty straightforward. In zfs_zget though, we\nneed it to not return error when the zp is unlinked. This is a pretty big\nchange in behavior, but skimming through all the callers, I don't think this\nchange would cause any problem. Also there's nothing preventing z_unlinked\nfrom being set after the z_lock mutex is dropped before but before zfs_zget\nreturns anyway.\n\nThe rest of the stuff is to make sure we don't log xattr stuff when owner is\nunlinked.\n\nSigned-off-by: Chunwei Chen <david.chen@osnexus.com>","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/987014903f9d36783547188b6ad00f01d9a076bd"},{"sha":"ace1eae84cca8579596f46262d99df19f6d7e963","author":{"name":"Chunwei Chen","email":"0f79a3f764949a984b39ca36fe80e1c7836f91a4@osnexus.com"},"message":"Add support for O_TMPFILE\n\nLinux 3.11 add O_TMPFILE to open(2), which allow creating an unlinked file on\nsupported filesystem. It's basically doing open(2) and unlink(2) atomically.\n\nThe filesystem support is added through i_op->tmpfile. We basically copy the\ncreate operation except we get rid of the link and name related stuff and add\nthe new node to unlinked set.\n\nWe also add support for linkat(2) to link tmpfile. However, since all previous\nfile operation will skip ZIL, we force a txg_wait_synced to make sure we are\nsync safe.\n\nSigned-off-by: Chunwei Chen <david.chen@osnexus.com>","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/ace1eae84cca8579596f46262d99df19f6d7e963"},{"sha":"7f3194932d22c667026aff1b263ceaa1ebd012ee","author":{"name":"Romain Dolbeau","email":"fd84b7a235f8f230d95c78c1043e0de97146f2e3@dolbeau.name"},"message":"Add superscalar fletcher4\n\nThis is the Fletcher4 algorithm implemented in pure C, but using\r\nmultiple counters using algorithms identical to those used for\r\nSSE/NEON and AVX2.\r\n\r\nThis allows for faster execution on core with strong superscalar\r\ncapabilities but weak SIMD capabilities.\r\n\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nSigned-off-by: Romain Dolbeau <romain.dolbeau@atos.net>\r\nCloses #5317","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/7f3194932d22c667026aff1b263ceaa1ebd012ee"},{"sha":"1ad9de6d08f8c0261094d322a4507a5cbbb53e66","author":{"name":"Tony Hutter","email":"0e31616055d422b77977f36dd1a518fb9cc17f15@llnl.gov"},"message":"Allow autoreplace even when enclosure LED sysfs entries don't exist\n\nThe previous autoreplace code assumed that if you were using autoreplace, then\r\nyou also had the enclosure SES driver loaded.  This could lead to autoreplace\r\nnot working if the SES driver wasn't loaded, or if it wasn't creating the\r\nproper enclosure_device symlinks (which has happened).  This patch removes\r\nthat assumption.\r\n\r\nReviewed by: Don Brady <don.brady@intel.com>\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nSigned-off-by: Tony Hutter <hutter2@llnl.gov>\r\nCloses #5363","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/1ad9de6d08f8c0261094d322a4507a5cbbb53e66"},{"sha":"61f9b2cd12a34dcc98e1c94d2988d561ff847b7b","author":{"name":"Brian Behlendorf","email":"a858f2314cfaacf8f584edaf19860167d645669b@llnl.gov"},"message":"Replace ISAINFO with is_32bit function\n\nThe isainfo(1) utility was used by the ZFS Test Suite to determine\nwhen running on a 32-bit platform.  This non-portable check has been\nreplaced with an is_32bit helper function which uses getconf(1).\nThe getconf(1) utility is available for Linux, FreeBSD, and Illumos.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/61f9b2cd12a34dcc98e1c94d2988d561ff847b7b"},{"sha":"34328f3cf8a4ca9441a1609878500ef1ff2eeb16","author":{"name":"Brian Behlendorf","email":"a858f2314cfaacf8f584edaf19860167d645669b@llnl.gov"},"message":"Allow 16M zio buffers in user space\n\nOnly restrict the maximum zio alloc size to 32-bit kernel space.\nThe same virtual address space limitations don't apply to user\nspace.  This resolves a memory allocation failure in raidz_test\nwhere it expects to be able to exercises all valid zio sizes.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/34328f3cf8a4ca9441a1609878500ef1ff2eeb16"},{"sha":"83bf769d500a231eac023c9f9f88719ad205694e","author":{"name":"Brian Behlendorf","email":"a858f2314cfaacf8f584edaf19860167d645669b@llnl.gov"},"message":"Fix 'zpool import' detection issues\n\nThis patch addresses multiple 'zpool import' block device\r\nindentification problems which are most likely to occur on a\r\nsystem configured to use blkid, by_vdev paths, multipath and\r\nfailover.  The symptom most commonly observed is the import\r\nuses different path names to import the pool than would\r\nnormally be expected.\r\n\r\n* When using blkid to identify vdevs the listed devices may\r\nbe added to the cache in any order.  In order to apply the\r\npreferred search order heuristic a zfs_path_order() function\r\nwas added to calculate the order given full path names.\r\n\r\n* Since it's possible to have multiple block devices with\r\ndifferent vdev guids which refer to the same ZPOOL_CONFIG_PATH\r\nthe slice cache must be indexed by guid and name.  By avoiding\r\ncollisions the preferred ordering can be maintaining even\r\nwhen multiple block devices claim the same ZPOOL_CONFIG_PATH.\r\nThe preferred sorting by partition was never benefitial for\r\na Linux system and was removed as part of this change.\r\n\r\n* When adding entries to the blkid cache avl_find/avl_insert\r\nare used instead of avl_add because collisions are possible\r\nand must be handled gracefully.\r\n\r\n* For pools using multipath devices there are, at a minimum,\r\nthree devices where a vdev label may be read.  They are the\r\ndm-* device and each underlying /dev/sd* device.  Due to the\r\nway the block cache is implemented each of these devices may\r\nhave a different cached copy of the vdev label.  This can\r\nresult in \"ghost pools\" which appear to persist even after\r\na 'zpool labelclear' has been done to the dm-* device.  In\r\norder to prevent this the vdev label is read with O_DIRECT\r\nin order to bypass any caching to get the on-disk version.\r\n\r\n* When opening a block device verify that vdev guid read from\r\nthe disk matches the expected vdev guid.  This allows for bad\r\nlabels to be filtered out.\r\n\r\nReviewed-by: Tony Hutter <hutter2@llnl.gov>\r\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nCloses #5359","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/83bf769d500a231eac023c9f9f88719ad205694e"},{"sha":"8e71ab99dc4a591d41ab0d9255ddca3e914f47e4","author":{"name":"Chunwei Chen","email":"0f79a3f764949a984b39ca36fe80e1c7836f91a4@osnexus.com"},"message":"Batch free zpl_posix_acl_release\n\nCurrently every calls to zpl_posix_acl_release will schedule a delayed task,\nand each delayed task will add a timer. This used to be fine except for\npossibly bad performance impact.\n\nHowever, in Linux 4.8, a new timer wheel implementation[1] is introduced. In\nthis new implementation, the larger the delay, the less accuracy the timer is.\nSo when we have a flood of timer from zpl_posix_acl_release, they will expire\nat the same time. Couple with the fact that task_expire will do linear search\nwith lock held. This causes an extreme amount of contention inside interrupt\nand would actually lockup the system.\n\nWe fix this by doing batch free to prevent a flood of delayed task. Every call\nto zpl_posix_acl_release will put the posix_acl to be freed on a lockless\nlist. Every batch window, 1 sec, the zpl_posix_acl_free will fire up and free\nevery posix_acl that passed the grace period on the list. This way, we only\nhave one delayed task every second.\n\n[1] https://lwn.net/Articles/646950/\n\nSigned-off-by: Chunwei Chen <david.chen@osnexus.com>","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/8e71ab99dc4a591d41ab0d9255ddca3e914f47e4"},{"sha":"3779913b35634d9d34ac9eb709203275b28050c2","author":{"name":"Chunwei Chen","email":"0f79a3f764949a984b39ca36fe80e1c7836f91a4@osnexus.com"},"message":"Use set_cached_acl and forget_cached_acl when possible\n\nOriginally, these two function are inline, so their usability is tied to\nposix_acl_release. However, since Linux 3.14, they became EXPORT_SYMBOL, so we\ncan always use them. In this patch, we create an independent test for these\ntwo functions so we can use them when possible.\n\nSigned-off-by: Chunwei Chen <david.chen@osnexus.com>","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/3779913b35634d9d34ac9eb709203275b28050c2"},{"sha":"f4bae2ed6361917660f5238cd35672ad18d7babc","author":{"name":"cao","email":"d5c631261607753c6bb0c71e4f7dc1d8bf7c3e51@zte.com.cn"},"message":"Fix coverity defects: CID 147575, 147577, 147578, 147579\n\nCID 147575, Type:Unintentional integer overflow\r\nCID 147577, Type:Unintentional integer overflow\r\nCID 147578, Type:Unintentional integer overflow\r\nCID 147579, Type:Unintentional integer overflow\r\n\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nSigned-off-by: cao.xuewen <cao.xuewen@zte.com.cn>\r\nCloses #5365","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/f4bae2ed6361917660f5238cd35672ad18d7babc"},{"sha":"976246fadde25790cec3de50c01c689d98d84e0c","author":{"name":"Don Brady","email":"285f47992a2b7b0b9d48e4ada367e5bfc4fc1317@intel.com"},"message":"Add illumos FMD ZFS logic to ZED -- phase 2\n\nThe phase 2 work primarily entails the Diagnosis Engine and\r\nthe Retire Agent modules. It also includes infrastructure\r\nto support a crude FMD environment to host these modules.\r\n\r\nThe Diagnosis Engine consumes I/O and checksum ereports and\r\nfeeds them into a SERD engine which will generate a corres-\r\nponding fault diagnosis when the SERD engine fires. All the\r\ndiagnosis state data is collected into cases, one case per\r\nvdev being tracked.\r\n\r\nThe Retire Agent responds to diagnosed faults by isolating\r\nthe faulty VDEV. It will notify the ZFS kernel module of\r\nthe new VDEV state (degraded or faulted). This agent is\r\nalso responsible for managing hot spares across pools.\r\nWhen it encounters a device fault or a device removal it\r\nreplaces the device with an appropriate spare if available.\r\n\r\nReviewed-by: Tony Hutter <hutter2@llnl.gov>\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nSigned-off-by: Don Brady <don.brady@intel.com>\r\nCloses #5343","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/976246fadde25790cec3de50c01c689d98d84e0c"},{"sha":"ffb78320c8040e10e754f1358476beb04c943510","author":{"name":"Brian Behlendorf","email":"a858f2314cfaacf8f584edaf19860167d645669b@llnl.gov"},"message":"Skip test suites on 32-bit TEST builders\n\nThe ztest, filebench, xfstests, and zfsstress test suites should\r\nbe skipped when testing on 32-bit platforms until they pass\r\nreliably.\r\n\r\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nCloses #5381","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/ffb78320c8040e10e754f1358476beb04c943510"},{"sha":"a36cc8d2428259f5cfefb653bff39ca7afc66518","author":{"name":"cao","email":"d5c631261607753c6bb0c71e4f7dc1d8bf7c3e51@zte.com.cn"},"message":"Fix coverity defects: CID 147626, 147628\n\nCID 147626: Type:Dereference before null check\r\nCID 147628: Type:Dereference before null check\r\n\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov\r\nReviewed-by: Chunwei Chen <david.chen@osnexus.com>\r\nSigned-off-by: cao.xuewen <cao.xuewen@zte.com.cn>\r\nCloses #5304","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/a36cc8d2428259f5cfefb653bff39ca7afc66518"},{"sha":"70df4c21c0da3baacb6601d924dd1fb2b3cad1b3","author":{"name":"luozhengzheng","email":"3f658dbdd8bbba7146eb83de22417b8bc96630a6@zte.com.cn"},"message":"Fix coverity defects: 154021\n\nCID 154021: Null pointer dereference\r\n\r\nReviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nSigned-off-by: luozhengzheng <luo.zhengzheng@zte.com.cn>\r\nCloses #5380","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/70df4c21c0da3baacb6601d924dd1fb2b3cad1b3"},{"sha":"acc6d0e223e5dcff183a5dd52019cea1dabd981b","author":{"name":"cao","email":"d5c631261607753c6bb0c71e4f7dc1d8bf7c3e51@zte.com.cn"},"message":"Fix coverity defects: CID 147629\n\nCID 147629: Type:Dereference before null check\r\n\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov\r\nSigned-off-by: <cao.xuewen cao.xuewen@zte.com.cn>\r\nCloses #5376","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/acc6d0e223e5dcff183a5dd52019cea1dabd981b"},{"sha":"010782be9197c8e1131be6220fff682c692a23eb","author":{"name":"cao","email":"d5c631261607753c6bb0c71e4f7dc1d8bf7c3e51@zte.com.cn"},"message":"Fix coverity defects: CID 147586\n\nCID 147586: function:allow_usage Type:out-of-bounds read\r\n\r\nReviewed-by: Chunwei Chen <david.chen@osnexus.com>\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nSigned-off-by: cao.xuewen <cao.xuewen@zte.com.cn>\r\nCloses #5364","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/010782be9197c8e1131be6220fff682c692a23eb"},{"sha":"66f801f00acbc83206b5c2af9e44de45da2602a3","author":{"name":"Olaf Faaland","email":"8f55cfb64f1c99550169eb2a4789fc7a06cd0069@llnl.gov"},"message":"Fix symlinks for {vdev_clear,statechange}-led.sh\n\nThese were named in the zed/Makefile.am as vdev_clear-blinkled.sh\r\nand statechange-blinkled.sh causing bad symlinks to be created.\r\n\r\nReviewed-by: Tony Hutter <hutter2@llnl.gov>\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nSigned-off-by: Olaf Faaland <faaland1@llnl.gov>\r\nCloses #5384","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/66f801f00acbc83206b5c2af9e44de45da2602a3"},{"sha":"0420c126ce11432590bce1da651334ca07223185","author":{"name":"tuxoko","email":"f42c30dc7aad11c3ede4537b59d5ef3eba8a2e41@gmail.com"},"message":"Linux 3.14 compat: assign inode->set_acl\n\nLinux 3.14 introduces inode->set_acl(). Normally, acl modification will come\r\nfrom setxattr, which will handle by the acl xattr_handler, and we already\r\nhandles that well. However, nfsd will directly calls inode->set_acl or\r\nreturn error if it doesn't exists.\r\n\r\nReviewed-by: Tim Chase <tim@chase2k.com>\r\nReviewed-by: Massimo Maggi <me@massimo-maggi.eu>\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nSigned-off-by: Chunwei Chen <david.chen@osnexus.com>\r\nCloses #5371 \r\nCloses #5375","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/0420c126ce11432590bce1da651334ca07223185"},{"sha":"126ae9f4e9a8e39f65fcd55e3e1cf90d4e9c6f56","author":{"name":"jxiong","email":"99552f246ee81a6b56629c63d1a619e2ef13c701@gmail.com"},"message":"Export symbol dmu_objset_userobjspace_upgradable\n\nIt's used by Lustre to determine if the objset can be upgraded.\r\nThe inline version doesn't work because dmu_objset_is_snapshot()\r\nis not exported.\r\n\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nSigned-off-by: Jinshan Xiong <jinshan.xiong@intel.com>\r\nCloses #5385","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/126ae9f4e9a8e39f65fcd55e3e1cf90d4e9c6f56"},{"sha":"7e5ea7be7f69231b66c1affddb870fcea8c3a4d8","author":{"name":"Gvozden Neskovic","email":"89b6946db64cd5770ca50b2bd89195148bde383d@gmail.com"},"message":"Fix ZFS_AC_KERNEL_SET_CACHED_ACL_USABLE check\n\nPass `ACL_TYPE_ACCESS` for type parameter of `set_cached_acl()` and\r\n`forget_cached_acl()` to avoid removal of dead code after BUG() in\r\ncompile time. Tested on 3.2.0 kernel.\r\n\r\nIntroduced in 3779913\r\n\r\nReviewed-by: Massimo Maggi <me@massimo-maggi.eu>\r\nReviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>\r\nReviewed-by: Chunwei Chen <david.chen@osnexus.com>\r\nSigned-off-by: Gvozden Neskovic <neskovic@gmail.com>\r\nCloses #5378","distinct":true,"url":"https://api.github.com/repos/thegreatgazoo/zfs/commits/7e5ea7be7f69231b66c1affddb870fcea8c3a4d8"}]}
{"actor":{"display_login":"thegreatgazoo"}}