lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 29 Oct 2010 13:39:18 -0500
From:	Eric Sandeen <sandeen@...hat.com>
To:	George Kola <georgekola@...il.com>
CC:	linux-ext4@...r.kernel.org
Subject: Re: ext4 fallocate+truncate not freeing up allocated space

George Kola wrote:
> I am using RHEL (CentOS) 5.5 with kernel  2.6.18-194.17.4.el5  and ext4. I
> posted to RHEL bugzilla and they requested me to post it here.
> 

...

> Steps to Reproduce:
>   Have a program 
> 1.  Open a file on ext4 partition

# touch testfile

> 2. Fallocate space for that file  say 20 GB

# /root/fallocate -l 20g testfile
# df -h .
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb2              30G   21G  7.7G  73% /mnt/test
# du -h testfile
21G	testfile

> 3. Write data to the file  (but less than the allocated space) say 10 GB

# dd if=/dev/zero of=testfile bs=10M count=1024 conv=notrunc
10737418240 bytes (11 GB) copied, 125.522 seconds, 85.5 MB/s
# du -h testfile
21G	testfile
# df -h .
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb2              30G   21G  7.7G  73% /mnt/test

> 4. Close the file
> 5. Call truncate(file-path, size+1), truncate(file-path,size) on that file
> to
> give up the space (observed that the space is given up using filefrag)

10g size I assume? Is the below representative?

# /root/truncate 10737418241 testfile
# ls -l testfile
-rw-r--r-- 1 root root 10737418241 Oct 29 13:48 testfile
# /root/truncate 10737418240 testfile
# ls -l testfile
-rw-r--r-- 1 root root 10737418240 Oct 29 13:48 testfile

> 6. Use du and df on that ext4 partition to find that the mismatch

# df -h .
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb2              30G   11G   18G  37% /mnt/test

# du -h testfile
11G	testfile

# uname -a
Linux bear-05 2.6.18-225.el5 #1 SMP Mon Sep 27 10:32:19 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

Seems to work here, though there are ext4 updates in that kernel.

-Eric

> 
> 
> -George
> 
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ