mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-11-07 14:54:53 +03:00
Due to the confusion in Linux statfs between f_frsize and f_bsize the blocks counts were changed to be in units of z_max_blksize instead of SPA_MINBLOCKSIZE as it is on other platforms. However, the free files calculation in zfs_statvfs() is limited by the free blocks count, since each dnode consumes one block/sector. This provided a reasonable estimate of free inodes, but on Linux this meant that the free inodes count was underestimated by a large amount, since 256 512-byte dnodes can fit into a 128kB block, and more if the max blocksize is increased to 1MB or larger. Also, the use of SPA_MINBLOCKSIZE is semantically incorrect since DNODE_SIZE may change to a value other than SPA_MINBLOCKSIZE and may even change per dataset, and devices with large sectors setting ashift will also use a larger blocksize. Correct the f_ffree calculation to use (availbytes >> DNODE_SHIFT) to more accurately compute the maximum number of dnodes that can be created. Signed-off-by: Andreas Dilger <adilger@whamcloud.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #413 Closes #400 |
||
|---|---|---|
| cmd | ||
| config | ||
| dracut | ||
| etc | ||
| include | ||
| lib | ||
| man | ||
| module | ||
| patches | ||
| scripts | ||
| udev | ||
| .gitignore | ||
| AUTHORS | ||
| autogen.sh | ||
| ChangeLog | ||
| configure | ||
| configure.ac | ||
| COPYING | ||
| COPYRIGHT | ||
| DISCLAIMER | ||
| Makefile.am | ||
| Makefile.in | ||
| META | ||
| OPENSOLARIS.LICENSE | ||
| README.markdown | ||
| zfs_config.h.in | ||
| zfs-modules.spec.in | ||
| zfs-script-config.sh.in | ||
| ZFS.RELEASE | ||
| zfs.spec.in | ||
Native ZFS for Linux! ZFS is an advanced file system and volume manager which was originally developed for Solaris. It has been successfully ported to FreeBSD and now there is a functional Linux ZFS kernel port too. The port currently includes a fully functional and stable SPA, DMU, and ZVOL with a ZFS Posix Layer (ZPL) on the way!
$ ./configure
$ make pkg
Full documentation for building, configuring, and using ZFS can be found at: http://zfsonlinux.org