[uanog] ZFS large_blocks и volblocksize

Paul Arakelyan unisol at cs.kiev.ua
Tue Jan 17 21:57:22 EET 2017


On Tue, Jan 17, 2017 at 07:12:26PM +0200, Paul Arakelyan wrote:
> Вопрос - чего ж нету во фре-10 volblocksize>128KB и когда вообще появилось
> large_blocks? Ну и как получить volblocksize>128KB?

Нагуглил, начался движняк в 2014
http://www.slideshare.net/MatthewAhrens/openzfs-at-asiabsdcon-freebsd-developer-summit

Нашел в zvol.c сравнение с SPA_OLD_MAXBLOCKSIZE (это 128КБ)
int
zvol_check_volblocksize(uint64_t volblocksize)
{
        if (volblocksize < SPA_MINBLOCKSIZE ||
            volblocksize > SPA_OLD_MAXBLOCKSIZE ||
            !ISP2(volblocksize))
                return (SET_ERROR(EDOM));

        return (0);
}
и ещё
/usr/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
                /*
                 * Volumes are limited to a volblocksize of 128KB,
                 * because they typically service workloads with
                 * small random writes, which incur a large performance
                 * penalty with large blocks.
                 */
                if (prop == ZFS_PROP_VOLBLOCKSIZE)
                        maxbs = SPA_OLD_MAXBLOCKSIZE;
"Типично из пистолета можно застрелиться, поэтому ..."

Вот теперь думаю - мож махнуть на SPA_MAXBLOCKSIZE, и что из этого будет...
(Кто поддерживает версию "Шо буде - шо буде...Пи***ць буде!" ?)

А ещё есть место с unmap (оно вполне работает с iscsi - удаляешь файлы с
тома - место освобождается)


-- 
Best regards,
Paul Arakelyan.


More information about the uanog mailing list