Files
mirror_zfs/module/zfs
Andreas Dilger baab063016 zpl: Fix "df -i" to have better free inodes value
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
2011-09-28 11:27:10 -07:00
..
2011-07-08 12:44:11 -07:00
2010-08-31 08:38:35 -07:00
2010-08-26 14:24:34 -07:00
2011-05-31 12:17:27 -07:00
2011-05-31 12:17:27 -07:00
2010-08-26 14:24:34 -07:00
2010-08-31 13:41:58 -07:00
2011-02-18 09:31:25 -08:00
2010-08-31 13:41:57 -07:00
2010-08-31 13:41:58 -07:00
2011-05-04 10:02:37 -07:00
2011-02-10 09:27:22 -08:00
2010-08-31 08:38:45 -07:00
2011-07-19 11:55:42 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2011-05-04 10:02:37 -07:00
2011-02-23 12:52:51 -08:00
2011-05-04 10:02:37 -07:00
2010-08-31 13:41:58 -07:00
2011-05-04 10:02:37 -07:00
2010-08-31 08:38:46 -07:00
2010-08-31 08:38:49 -07:00
2011-04-29 12:36:13 -07:00
2010-12-07 16:05:25 -08:00
2011-02-10 09:27:20 -08:00
2010-08-31 13:41:59 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-31 13:41:58 -07:00
2010-08-27 15:34:02 -07:00
2010-08-27 15:28:32 -07:00
2011-05-04 10:02:37 -07:00
2010-08-31 08:38:44 -07:00
2010-08-27 15:28:32 -07:00
2011-05-04 10:02:37 -07:00
2010-08-31 08:38:46 -07:00
2011-07-01 13:36:39 -07:00
2010-08-31 13:41:58 -07:00
2011-07-01 13:36:39 -07:00
2010-10-12 14:55:02 -07:00
2011-03-02 11:44:34 -08:00
2011-03-02 11:44:34 -08:00
2010-08-31 13:41:50 -07:00
2011-03-03 11:29:15 -08:00
2011-03-02 11:44:34 -08:00
2011-08-02 10:34:55 -07:00
2011-09-09 10:29:48 -07:00
2011-05-04 10:02:37 -07:00
2011-07-20 14:07:13 -07:00
2011-07-01 13:36:39 -07:00
2011-07-01 13:36:39 -07:00
2010-09-17 16:24:15 -07:00
2011-05-02 08:54:40 -07:00