Re: df -h shows ~10 times bigger size when umounting pendrive

Arkadiusz Miskiewicz
2009-03-22T10:25:32Z

On Sunday 22 of March 2009, David Newall wrote:
> Arkadiusz Miskiewicz wrote:
> > While umount was running and data were synced on the
> > pendrive df -h showed:
> >
> > [arekm@t400 ~]$ df -h
> > System plik�w rozm. u�yte dost. %u�. zamont. na
> > /dev/sda3 9,6G 4,2G 5,5G 44% /
> > /dev/sdb1 9,6G 4,2G 5,5G 44% /media/floppy
>
> This looks to me like a race between umount and df. By the time df had
> read mtab (to find the mounted filesystem), the pen drive had already
> been unmounted; but umount hadn't yet updated mtab. It's a pretty
> trivial sort of fault, and not worth worrying about.

It's not that. umounting takes more than 15 seconds (syncing 650MB of data
takes some time) and in that ~15 seconds I reliably get such results:

/etc/mtab contains:

/dev/sdb1 /media/floppy vfat rw 0 0

statfs() returns:

statfs("/media/floppy", {f_type=0x58465342, f_bsize=4096, f_blocks=2497555,
f_bfree=1410716, f_bavail=1410716, f_files=10000448, f_ffree=9842679,
f_fsid={2051, 0}, f_namelen=255, f_frsize=4096}) = 0

which is:

/dev/sdb1 9,6G 4,2G 5,4G 44% /media/floppy

So why statfs() lies on a being unmounted filesystem?

--
Arkadiusz Miśkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/