Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
None
-
13423
Description
The ZFS VFS code does change blocksize as file grows, e.g. in zfs_write()->zfs_grow_blocksize(). But the osd-zfs just opens the objset and manipulate it directly by the DMU API, shortcutting ZFS VFS layers, so the zfs_grow_blocksize() logic will not work for us.
Currently the osd-zfs set blocksize to 0 on MDS (then ZFS converts it to the default 512 byte block size), and to 128K on OSS. Neither is optimal setting. We may need to duplicate the ZPL functionality to grow block size dynamically as well.