Revision 43be21462d8c263e2449b52b23326232fd710bee authored by Josef Bacik on 01 April 2011, 14:55:00 UTC, committed by Chris Mason on 05 April 2011, 05:20:24 UTC
I noticed a huge problem with the free space cache that was presenting as an early ENOSPC. Turns out when writing the free space cache out I forgot to take into account pinned extents and more importantly clusters. This would result in us leaking free space everytime we unmounted the filesystem and remounted it. I fix this by making sure to check and see if the current block group has a cluster and writing out any entries that are in the cluster to the cache, as well as writing any pinned extents we currently have to the cache since those will be available for us to use the next time the fs mounts. This patch also adds a check to the end of load_free_space_cache to make sure we got the right amount of free space cache, and if not make sure to clear the cache and re-cache the old fashioned way. Signed-off-by: Josef Bacik <josef@redhat.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
1 parent 08fe4db
File | Mode | Size |
---|---|---|
Makefile | -rw-r--r-- | 394 bytes |
compat.c | -rw-r--r-- | 17.0 KB |
compat_mq.c | -rw-r--r-- | 4.1 KB |
ipc_sysctl.c | -rw-r--r-- | 5.1 KB |
ipcns_notifier.c | -rw-r--r-- | 2.2 KB |
mq_sysctl.c | -rw-r--r-- | 2.7 KB |
mqueue.c | -rw-r--r-- | 30.5 KB |
msg.c | -rw-r--r-- | 20.8 KB |
msgutil.c | -rw-r--r-- | 2.8 KB |
namespace.c | -rw-r--r-- | 3.3 KB |
sem.c | -rw-r--r-- | 40.3 KB |
shm.c | -rw-r--r-- | 26.5 KB |
syscall.c | -rw-r--r-- | 2.3 KB |
util.c | -rw-r--r-- | 22.9 KB |
util.h | -rw-r--r-- | 5.2 KB |
Computing file changes ...