[Linux-cluster] Abusing the GFS file system
Wendy Cheng
wcheng at redhat.com
Wed Dec 6 05:54:38 UTC 2006
Wendy Cheng wrote:
> eric johnson wrote:
>
>> Suppose I'm on a GFS partition with 50 GBs free.
>>
>> And then I rudely drain it of inodes with a perl script that looks
>> like this.
>>
>> Executive summary - make a bunch of randomly named files...
>>
>> --makefiles.pl
>>
>> my $i=0;
>> my $max=shift(@ARGV);
>> my $d=shift(@ARGV);
>> if (not defined $d) {
>> $d="";
>> }
>> foreach(my $i=0;$i<$max;$i++) {
>> my $filename=sprintf("%s-%d%s",rand()*100000,$i,$d);
>> open FOO, ">$filename";
>> print FOO "This is fun!!\n";
>> close FOO;
>> }
>>
>>
>> In fact, to be extra cruel, I make a bunch of subdirectories on my
>> partition, and then run an instance of this script in each
>> subdirectory until the box is saturated with work to do and everyone
>> is busily draining away the inodes. This takes a good 6 hours.
>>
>> Then when the inodes are drained, I kill the run away scripts and then
>> delete all the files that were created.
>>
>> While everything has been deleted, I still don't get back all of my
>> space. In fact, the vast majority of it still appears to be chewed up
>> by GFS and it won't give back the space. So when I copy large files
>> to it I get errors like...
>>
>> cp: writing `./src.tar.gz': No space left on device
>>
>> When that file is clearly under a gig and should fit.
>>
>> But if I run a gfs_reclaim on that partition, then it all magically
>> comes back and then I can place largish files back on the disk.
>>
>> Is this a well known characterstic of GFS that I somehow missed
>> reading about?
>>
> hmmm ... look like a bug - the inode de-allocation code is supposed to
> put the meta-data blocks back to free list. Thank you for let us
> know. Will open a bugzilla to fix this up.
>
Bug opened as: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=218576
The difficult part of this issue is that we have to make sure no other
node will hold this inode reference before assigning it to another new
file.
-- Wendy
More information about the Linux-cluster
mailing list