Bug 154383
Summary: | df takes a very long time to display GFS mounted filesystems | ||
---|---|---|---|
Product: | [Retired] Red Hat Cluster Suite | Reporter: | Martijn Brizee <m.brizee> |
Component: | gfs | Assignee: | Ken Preslan <kpreslan> |
Status: | CLOSED NOTABUG | QA Contact: | Brian Brock <bbrock> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 3 | CC: | riel |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2005-07-18 20:10:12 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Martijn Brizee
2005-04-11 09:39:37 UTC
Reassigning to GFS maintainer. A local filesystem keeps all its statfs() info in one centralized place. A df just has to read the information from that one place to report it -- it's nice and fast. If GFS did this, it would be come a scalability bottleneck -- every allocation or deallocation would have to change that one set of counters. GFS gets around this by distributing the statfs information across the filesystem. Each Resource Group (allocation container unit) has its own set of counters. When you do a statfs, GFS has to read in each RG and add together all the individual counters to get the whole FS' statistics. To make this faster, GFS keeps a cache of the per-RG statistics, so df doesn't always need to read off the disk. The first df after a mount initializes this cache. So, what you saw is expected. The first df is slow as it initializes the cache. The second one is faster as it uses the cached data. If it really bugs you: When you make the filesystem, you can use the -r option (e.g. "-r 1024" or "-r 1536) to gfs_mkfs to make the RGs bigger. You'll have fewer RGs, so reading in the headers to initialize the cache will be faster. |