disk space not freed when deleting files in null_mounted filesystem
Peter Holm
peter at holm.cc
Thu Jun 9 12:11:36 UTC 2016
On Thu, Jun 09, 2016 at 01:39:45PM +0200, richard bader wrote:
> Am 09.06.2016 um 13:27 schrieb Peter Holm:
> > On Thu, Jun 09, 2016 at 12:13:08PM +0200, richard bader wrote:
> >> Hello,
> >>
> >> i've a filesystem mounted with mount_nullfs.
> >> When i delete a large file in this filesystem, the space on the disk is
> >> not freed.
> >> The space becomes freed when i unmount the filesystem.
> >>
> >>
> >> to reproduce this:
> >>
> >> root at main2:/tmp # mkdir lnk src
> >> root at main2:/tmp # mount_nullfs src lnk
> >> root at main2:/tmp # mount | grep lnk
> >> /tmp/src on /tmp/lnk (nullfs, local)
> >> root at main2:/tmp # df -h .
> >> Filesystem Size Used Avail Capacity Mounted on
> >> /dev/ada0p2 58G 40G 13G 75% /
> >> root at main2:/tmp # dd if=/dev/zero of=lnk/foo bs=1G count=3
> >> 3+0 records in
> >> 3+0 records out
> >> 3221225472 bytes transferred in 7.856793 secs (409992411 bytes/sec)
> >> root at main2:/tmp # df -h .
> >> Filesystem Size Used Avail Capacity Mounted on
> >> /dev/ada0p2 58G 43G 10G 80% /
> >> root at main2:/tmp # rm lnk/foo
> >> root at main2:/tmp # df -h .
> >> Filesystem Size Used Avail Capacity Mounted on
> >> /dev/ada0p2 58G 43G 10G 80% /
> >> root at main2:/tmp # umount /tmp/lnk
> >> root at main2:/tmp # df -h .
> >> Filesystem Size Used Avail Capacity Mounted on
> >> /dev/ada0p2 58G 40G 13G 75% /
> >>
> >>
> >> my system:
> >>
> >> root at main2:/tmp # uname -a
> >> FreeBSD main2.bader.loc 10.2-RELEASE-p18 FreeBSD 10.2-RELEASE-p18 #8
> >> r301112: Wed Jun 1 11:08:24 CEST 2016
> >> root at main2.bader.loc:/usr/obj/usr/src/sys/MYKERNEL amd64
> >>
> >> are the any options for mount_nullfs ?
> >>
> >> best regards
> >>
> >> richard
> >>
> > Hello Richard,
> >
> > I wonder which file system you are using?
> > Here's what happens with UFS and current from today:
> >
> > $ cat -n richard.sh
> > 1 #!/bin/sh
> > 2
> > 3 uname -a
> > 4 mount | grep `df -h /tmp | tail -1 | awk '{print $1}'`
> > 5
> > 6 cd /tmp
> > 7 rm -rf lnk src
> > 8 mkdir lnk src
> > 9 mount_nullfs src lnk
> > 10 mount | grep lnk
> > 11 df -h .
> > 12 dd if=/dev/zero of=lnk/foo bs=1G count=3
> > 13 df -h .
> > 14 rm lnk/foo
> > 15 df -h .
> > 16 umount /tmp/lnk
> > 17 df -h .
> > $ ./richard.sh
> > FreeBSD t2.osted.lan 11.0-ALPHA2 FreeBSD 11.0-ALPHA2 #0 r301722: Thu Jun 9 12:09:39 CEST 2016 pho at t2.osted.lan:/usr/src/sys/amd64/compile/PHO amd64
> > /dev/da0p3 on /tmp (ufs, NFS exported, local, soft-updates)
> > /tmp/src on /tmp/lnk (nullfs, local)
> > Filesystem Size Used Avail Capacity Mounted on
> > /dev/da0p3 97G 1,6G 87G 2% /tmp
> > 3+0 records in
> > 3+0 records out
> > 3221225472 bytes transferred in 47.658947 secs (67589102 bytes/sec)
> > Filesystem Size Used Avail Capacity Mounted on
> > /dev/da0p3 97G 4,6G 84G 5% /tmp
> > Filesystem Size Used Avail Capacity Mounted on
> > /dev/da0p3 97G 1,6G 87G 2% /tmp
> > Filesystem Size Used Avail Capacity Mounted on
> > /dev/da0p3 97G 1,6G 87G 2% /tmp
> > $
> >
> > - Peter
> i'm also using ufs.
>
> root at main2:/tmp # ./richard.sh
> FreeBSD main2.bader.loc 10.2-RELEASE-p18 FreeBSD 10.2-RELEASE-p18 #8
> r301112: Wed Jun 1 11:08:24 CEST 2016
> root at main2.bader.loc:/usr/obj/usr/src/sys/MYKERNEL amd64
> /dev/ada0p2 on / (ufs, local, journaled soft-updates)
> /tmp/src on /tmp/lnk (nullfs, local)
> Filesystem Size Used Avail Capacity Mounted on
> /dev/ada0p2 58G 40G 13G 75% /
> 3+0 records in
> 3+0 records out
> 3221225472 bytes transferred in 8.679717 secs (371121023 bytes/sec)
> Filesystem Size Used Avail Capacity Mounted on
> /dev/ada0p2 58G 43G 10G 80% /
> Filesystem Size Used Avail Capacity Mounted on
> /dev/ada0p2 58G 43G 10G 80% /
> Filesystem Size Used Avail Capacity Mounted on
> /dev/ada0p2 58G 40G 13G 75% /
>
Hmm. I tried again on SU+J but I still do not see any problems on
HEAD. I'll build r301112 and see what happens.
- Peter
More information about the freebsd-fs
mailing list