{"push_id":852519379,"size":86,"distinct_size":8,"ref":"refs/heads/zdb","head":"b0df1fcf4ddc9fb6bcd8b6150cf7766329015cc4","before":"fc58a33b771fa67d36d6cff64e6fddfe0074486e","commits":[{"sha":"302f31ffc7586de8537e5570e7a77c839f09ad75","author":{"email":"711c73f64afdce07b7e38039a96d2224209e9a6c@onthe.net.au","name":"Chris Dunlop"},"message":"Linux 4.1 compat: configure bdi_setup_and_register()\n\nPull struct backing_dev_info off the stack: by linux-4.1 it's grown\npast our 1024 byte stack frame warning limit resulting in an incorrect\nconfigure result.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nSigned-off-by: Chris Dunlop <chris@onthe.net.au>\nCloses #3671","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/302f31ffc7586de8537e5570e7a77c839f09ad75"},{"sha":"9d4f86e82562960520ff8f05e85faeb9b417f5e8","author":{"email":"711c73f64afdce07b7e38039a96d2224209e9a6c@onthe.net.au","name":"Chris Dunlop"},"message":"Fix build failure with Linux 4.1 and FTRACE\n\nSee also #3546, commit c1718e9\n\nSigned-off-by: Chris Dunlop <chris@onthe.net.au>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3673","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/9d4f86e82562960520ff8f05e85faeb9b417f5e8"},{"sha":"6d79eabf9ff19b5c04fba735802b417389bdfa38","author":{"email":"1d34d2e6c70ee806ecb1ebb590a2bf31fd995e1f@gmail.com","name":"tuxoko"},"message":"Add parenthesis to the ternary operator\n\nWithout the parenthesis, this particular ASSERT will evaluate to\n\"(RW_READER == (!zap->zap_ismicro && fatreader)) ? RW_READER : lti\"\n\nSigned-off-by: Chunwei Chen <tuxoko@gmail.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3685","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/6d79eabf9ff19b5c04fba735802b417389bdfa38"},{"sha":"9f5ba90f9fb0aa39de35afaf6e9f385c4ddd8865","author":{"email":"0e6295540f566aad05a0dc0d8facf057c9f8e443@clusterhq.com","name":"Richard Yao"},"message":"Fix zvol detection\n\nThe zpool create subcomand should not return an error on debug builds of\nthe userland tools when given zvols.\n\nSigned-off-by: Richard Yao <ryao@gentoo.org>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3595","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/9f5ba90f9fb0aa39de35afaf6e9f385c4ddd8865"},{"sha":"ff9b1d07256c57b607cc6ad3448c1fb2487305d6","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Handle zap_lookup() failure in ddt_object_load()\n\nFailing to lookup a name in the spa_ddt_stat_object should not result\nin a panic in ddt_object_load().  The error can be safely returned to\nthe caller for handling resulting in a useful user error message.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3370","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/ff9b1d07256c57b607cc6ad3448c1fb2487305d6"},{"sha":"efc412b645cbb209e42983a9dcb9d3c9427c5495","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Linux 4.2 compat: vfs_rename()\n\nThe spa_config_write() function relies on the classic method of\nmaking sure updates to the /etc/zfs/zpool.cache file are atomic.\nIt writes out a temporary version of the file and then uses\nvn_rename() to switch it in to place.  This way there can never\nexist a partial version of the file, it's all or nothing.\n\nConceptually this is a good strategy and it makes good sense\nfor platforms where it's easy to do a rename within the kernel.\nUnfortunately, Linux is not one of those platforms.  Even doing\nbasic I/O to a file system from within the kernel is strongly\ndiscouraged.  In order to support this at all the vn_rename()\nimplementation ends up being complex and fragile.  So fragile\nthat recent Linux 4.2 changes have broken it.\n\nWhile it is possible to update vn_rename() to work with the\nlatest kernels a better long term strategy is to stop using\nvn_rename() entirely.  Then all this complex, fragile code can\nbe removed.  Achieving this is straight forward because\nconfig_write() is the only consumer of vn_rename().\n\nThis patch reworks spa_config_write() to update the cache file\nin place.  The file will be truncated, written out, and then\nsynced to disk.  If an error is encountered the file will be\nunlinked leaving the system in a consistent state.\n\nThis does expose a tiny tiny tiny window where a system could\ncrash at exactly the wrong moment could leave a partially written\ncache file.  However, this is highly unlikely because the cache\nfile is 1) infrequently updated, 2) only a few kilobytes in size,\nand 3) written with a single vn_rdwr() call.\n\nIf this were to somehow happen it poses no risk to pool.  Simply\nremoving the cache file will allow the pool to be imported cleanly.\nGoing forward this will be even less of an issue as we intend to\ndisable the use of a cache file by default.\n\nBottom line not using vn_rename() allows us to make ZoL more\nrobust against upstream kernel changes.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3653","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/efc412b645cbb209e42983a9dcb9d3c9427c5495"},{"sha":"17888ae30d6111f1fe25087a256724ee9b1a0a84","author":{"email":"1d34d2e6c70ee806ecb1ebb590a2bf31fd995e1f@gmail.com","name":"Chunwei Chen"},"message":"Add compatibility layer for {kmap,kunmap}_atomic\n\nStarting from linux-2.6.37, {kmap,kunmap}_atomic takes 1 argument instead of 2.\nWe use zfs_{kmap,kunmap}_atomic as wrappers and always take 2 argument, but\nignore the 2nd for newer kernel.\n\nSigned-off-by: Chunwei Chen <tuxoko@gmail.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/17888ae30d6111f1fe25087a256724ee9b1a0a84"},{"sha":"5475aada9474464f973788c1b2fc6216486fb303","author":{"email":"1d34d2e6c70ee806ecb1ebb590a2bf31fd995e1f@gmail.com","name":"Chunwei Chen"},"message":"Linux 4.1 compat: loop device on ZFS\n\nStarting from Linux 4.1 allows iov_iter with bio_vec to be passed into\niter_read/iter_write. Notably, the loop device will pass bio_vec to backend\nfilesystem. However, current ZFS code assumes iovec without any check, so it\nwill always crash when using loop device.\n\nWith the restructured uio_t, we can safely pass bio_vec in uio_t with UIO_BVEC\nset. The uio* functions are modified to handle bio_vec case separately.\n\nThe const uio_iov causes some warning in xuio related stuff, so explicit\nconvert them to non const.\n\nSigned-off-by: Chunwei Chen <tuxoko@gmail.com>\nSigned-off-by: Richard Yao <ryao@gentoo.org>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3511\nCloses #3640","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/5475aada9474464f973788c1b2fc6216486fb303"},{"sha":"c495fe2c1c6b1c63aefcd832e2e0eb0a20d4c4dc","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Limit max_hw_sectors_kb to 16M\n\nWhen support for large blocks was added DMU_MAX_ACCESS was increased\nto allow for blocks of up to 16M to fit in a transaction handle.\nThis had the side effect of increasing the max_hw_sectors_kb for\nvolumes, which are scaled off DMU_MAX_ACCESS, to 64M from 10M.\n\nThis is an issue for volumes which by default use an 8K block size\nbecause it results in dmu_buf_hold_array_by_dnode() allocating a\n64K array for the dbufs.  The solution is to restore the maximum\nsize to ~10M.  This patch specifically changes it to 16M which is\nclose enough.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3684","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/c495fe2c1c6b1c63aefcd832e2e0eb0a20d4c4dc"},{"sha":"4cb7b9c5d42c831878e0cf90c845ed52a2a34d72","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Check large block feature flag on volumes\n\nSince ZoL allows large blocks to be used by volumes, unlike upstream\nillumos, the feature flag must be checked prior to volume creation.\nThis is critical because unlike filesystems, volumes will create a\nobject which uses large blocks as part of the create.  Therefore, it\ncannot be safely checked in zfs_check_settable() after the dataset\ncan been created.\n\nIn addition this patch updates the relevant error messages to use\nzfs_nicenum() to print the maximum blocksize.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3591","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/4cb7b9c5d42c831878e0cf90c845ed52a2a34d72"},{"sha":"d439f63ff5ebc3ce0c96e8a284e9c642c4b7663c","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@chase2k.com","name":"Tim Chase"},"message":"Allow recovery from corrupted snapshot maps\n\nIf the ZAP object containing a snapshot map is corrupted due to an\nunrecoverable checksum error or otherwise, dsl_dataset_name() will\nnormally panic the system due to its VERIFY.\n\nThis patch attempts to allow a recovery avenue from such situations by\nmanufacturing a descriptive snapshot name and then ignoring the error.\nScrubbing a pool with this type of corruption will then show the affected\nobject in the error list rather than panicking.\n\nThe recovery code is only enabled when the zfs_recover module parameter\nis set.\n\nSigned-off-by: Tim Chase <tim@chase2k.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3705","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/d439f63ff5ebc3ce0c96e8a284e9c642c4b7663c"},{"sha":"bba365cfc810161cf63b6e07100b7a6bd082ee6d","author":{"email":"c4d8cf83d10e20da37469404c148fd6b704f6bc3@tech.net.de","name":"Andreas Buschmann"},"message":"Add extra keyword 'slot' to vdev_id.conf\n\nAdd new keyword 'slot' to vdev_id.conf\nThis selects from where to get the slot number for a SAS/SATA disk\nNeeded to enable access to the physical position of a disk in a\nSupermicro 2027R-AR24NV .\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nSigned-off-by: Ned Bass <bass6@llnl.gov>\nCloses #3693","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/bba365cfc810161cf63b6e07100b7a6bd082ee6d"},{"sha":"36b454ab4c33fef59c9cb25ff09c2454dcd4aa04","author":{"email":"5ee0edb9e2229c0838f1959779f1949031de0123@chase2k.com","name":"Tim Chase"},"message":"Initialize the taskq entry embedded within struct vdev\n\nAs part of the stack reduction effort in\n50b25b2187134ac7b19cf93bd35a420223f1d343, a zio_t containing a taskq_ent\nwas added to struct vdev_queue which itself is part of struct vdev.\nThe taskq entry should be initialized as is currently done in zio_create()\nfor newly-created bare zio_t object.  The rationale is the same as is\ndescribed in f467b05a265abcfb8e5a3269f79d08f36a58646a.\n\nSigned-off-by: Tim Chase <tim@chase2k.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3709","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/36b454ab4c33fef59c9cb25ff09c2454dcd4aa04"},{"sha":"da619f3a199d938168079e153360b280dc45268a","author":{"email":"c64f7f1e6060e851acfe9b5bdea00a17cb81871c@gentoo.org","name":"Richard Yao"},"message":"Some OpenRC dependency logic belongs in mount\n\nThe dependencies for handling / on ZFS belong in the mount script, not\nthe zed script.\n\nSigned-off-by: Richard Yao <ryao@gentoo.org>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3715","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/da619f3a199d938168079e153360b280dc45268a"},{"sha":"3757bff3b155a4234905560167a0031cc4b0f746","author":{"email":"78564106a3ab9861d44de4e2229619e27165dd42@gmail.com","name":"loli10K"},"message":"Fix small typo\n\nAdd a missing space to the zfs_vdev_sync_write_min_active module\nparameter description.\n\nSigned-off-by: loli10K <ezomori.nozomu@gmail.com>\nSigned-off-by: Richard Yao <ryao@gentoo.org>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3714","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/3757bff3b155a4234905560167a0031cc4b0f746"},{"sha":"c6a3a222d3a1d2af94205a218c0ba455200fb945","author":{"email":"c64f7f1e6060e851acfe9b5bdea00a17cb81871c@gentoo.org","name":"Richard Yao"},"message":"Clear QUEUE_FLAG_ADD_RANDOM on zvols\n\nzvols should not be an entropy source for the kernel. Disable it to be\nconsistent with the upstream kernel.\n\ntorvalds/linux@b277da0a8a594308e17881f4926879bd5fca2a2d\n\nSigned-off-by: Richard Yao <ryao@gentoo.org>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3713","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/c6a3a222d3a1d2af94205a218c0ba455200fb945"},{"sha":"b23975cbe0f249671c131b0d6e4ae1bb10594440","author":{"email":"3b55b1b4fdd6c57a0901678680641ec226477e5a@gmail.com","name":"Andrey Vesnovaty"},"message":"zfsctl: No need to sync ctldir inodes\n\nThere's no metadata to write to disk for ctldir inodes. So we check if\na inode belongs to the ctldir in zpl_commit_metadata, and returns\nimmediately if it is.\n\nSigned-off-by: Andrey Vesnovaty <andrey.vesnovaty@gmail.com>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nIssue #2797","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/b23975cbe0f249671c131b0d6e4ae1bb10594440"},{"sha":"278bee9319ba5947b995673d2c76e0333f2d33d4","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Linux 3.18 compat: Snapshot auto-mounting\n\nRe-factor the .zfs/snapshot auto-mouting code to take in to account\nchanges made to the upstream kernels.  And to lay the groundwork for\nenabling access to .zfs snapshots via NFS clients.  This patch makes\nthe following core improvements.\n\n* All actively auto-mounted snapshots are now tracked in two global\ntrees which are indexed by snapshot name and objset id respectively.\nThis allows for fast lookups of any auto-mounted snapshot regardless\nwithout needing access to the parent dataset.\n\n* Snapshot entries are added to the tree in zfsctl_snapshot_mount().\nHowever, they are now removed from the tree in the context of the\nunmount process.  This eliminates the need complicated error logic\nin zfsctl_snapshot_unmount() to handle unmount failures.\n\n* References are now taken on the snapshot entries in the tree to\nensure they always remain valid while a task is outstanding.\n\n* The MNT_SHRINKABLE flag is set on the snapshot vfsmount_t right\nafter the auto-mount succeeds.  This allows to kernel to unmount\nidle auto-mounted snapshots if needed removing the need for the\nzfsctl_unmount_snapshots() function.\n\n* Snapshots in active use will not be automatically unmounted.  As\nlong as at least one dentry is revalidated every zfs_expire_snapshot/2\nseconds the auto-unmount expiration timer will be extended.\n\n* Commit torvalds/linux@bafc9b7 caused snapshots auto-mounted by ZFS\nto be immediately unmounted when the dentry was revalidated.  This\nwas a consequence of ZFS invaliding all snapdir dentries to ensure that\nnegative dentries didn't mask new snapshots.  This patch modifies the\nbehavior such that only negative dentries are invalidated.  This solves\nthe issue and may result in a performance improvement.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>\nCloses #3589\nCloses #3344\nCloses #3295\nCloses #3257\nCloses #3243\nCloses #3030\nCloses #2841","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/278bee9319ba5947b995673d2c76e0333f2d33d4"},{"sha":"324dcd373371fbc2855406444c1c106722970c18","author":{"email":"32d50ad1e384dcb9a5bf7e40fa470df5dabaf348@llnl.gov","name":"Brian Behlendorf"},"message":"Linux 4.2 compat: misc_deregister()\n\nThe misc_deregister() function was changed to a void return type.\nRather than add compatibility code to detect this change simply\nignore the return code on all kernels.  It was only used to log\nan informational error message of no real value.\n\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/324dcd373371fbc2855406444c1c106722970c18"},{"sha":"3c119330a6b4e166f85c3b07ae011231f9253dee","author":{"email":"c64f7f1e6060e851acfe9b5bdea00a17cb81871c@gentoo.org","name":"Richard Yao"},"message":"Remove blk_queue_physical_block_size() autotools check\n\nThis is needed for supporting kernels earlier than 2.6.30. Support for\nthose kernels was dropped, so we can safely remove this check.\n\nSigned-off-by: Richard Yao <ryao@gentoo.org>\nSigned-off-by: Brian Behlendorf <behlendorf1@llnl.gov>","distinct":false,"url":"https://api.github.com/repos/dweeezil/zfs/commits/3c119330a6b4e166f85c3b07ae011231f9253dee"}]}