Why does not freeblocks number change after deleting a big file?
Hi:
Analyze ext4 filesystem with "debugfs -R "stats" <device>",
Why does not free blocks number change after deleting a big file?
The big file:
# stat test file:"test" size:290554084 blocks:567496 IO block:4096
before deleting the file "test":
# debugfs -R "stats" /dev/sdb ... Inode count: 243593216 Block count: 1948728320 Reserved block count: 97436416 Free blocks: 406830314 Free inodes: 151667854 ...
deleting the file "test"
# debugfs -R "stats" /dev/sdb ... Inode count: 243593216 Block count: 1948728320 Reserved block count: 97436416 Free blocks: 406830314 Free inodes: 151667854 ...
Younger
thx.
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 19 lines · Younger Liu
Hi:
Analyze ext4 filesystem with "debugfs -R "stats" <device>",
Why does not free blocks number change after deleting a big file?The big file:
# stat test file:"test" size:290554084 blocks:567496 IO block:4096before deleting the file "test":
# debugfs -R "stats" /dev/sdb ... Inode count: 243593216 Block count: 1948728320 Reserved block count: 97436416 Free blocks: 406830314 Free inodes: 151667854 ...
Quoted 8 lines
deleting the file "test"
# debugfs -R "stats" /dev/sdb ... Inode count: 243593216 Block count: 1948728320 Reserved block count: 97436416 Free blocks: 406830314 Free inodes: 151667854
Hi,
Seems that you are trying to do this on a mounted partition, and the super block are not dumped to disk after every write/flush.
You could use statfs(2) instead of debugfs/stats command, or "mount -o remount /dev/sdb_X_" and after debugfs, this _must_ work only in case you don't have journal.
For more information you could look into ext4_commit_super().
Quoted 8 lines
...
Younger
thx.
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 6 lines
Respectfully Azat Khuzhin -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 37 lines · Azat Khuzhin
Date: Tue, 6 May 2014 13:57:48 +0400
From: Azat Khuzhin <[email protected]>
To: Younger Liu <[email protected]>
Cc: [email protected]
Subject: Re: Why does not freeblocks number change after deleting a big file?Quoted 19 lines · Younger Liu
Hi:
Analyze ext4 filesystem with "debugfs -R "stats" <device>",
Why does not free blocks number change after deleting a big file?The big file:
# stat test file:"test" size:290554084 blocks:567496 IO block:4096before deleting the file "test":
# debugfs -R "stats" /dev/sdb ... Inode count: 243593216 Block count: 1948728320 Reserved block count: 97436416 Free blocks: 406830314 Free inodes: 151667854 ...Quoted 8 lines
deleting the file "test"
# debugfs -R "stats" /dev/sdb ... Inode count: 243593216 Block count: 1948728320 Reserved block count: 97436416 Free blocks: 406830314 Free inodes: 151667854Hi,
Quoted 8 lines
Seems that you are trying to do this on a mounted partition, and the super block are not dumped to disk after every write/flush.
You could use statfs(2) instead of debugfs/stats command, or "mount -o remount
/dev/sdb_X_" and after debugfs, this _must_ work only in case you don't have journal.For more information you could look into
ext4_commit_super().
Yes, it really looks like you're doing this on mounted file system. However we do not update the superblock for some of the summary statistics such as number of free blocks, inodes and so on.
This is because it is recalculated from per block group descriptors when the file system is mounted, or unmounted. So when the file system is mounted debugfs is not going to give you an accurate information. You have to use something else like 'stat -f' for example.
Thanks!
-Lukas
Quoted 11 lines
Quoted 9 lines
...
Younger
thx.
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html