Hi all!

On an embedded device, we are using aufs overlaying a tmpfs and a file
system on a disk. When the overlay gets full, it sometimes (but not
always) happens that deleting files does not free space. Is this
normal known (expected) behavior?

What can we do to avoid this?

I include some technical information at the end.

Best regards,
Steffen


- /var/log/syslog
Aug 23 12:13:34 host kernel: [77130.880925] aufs
au_xino_write:417:find[12379]: I/O Error, write failed (-5)
Aug 23 12:13:40 host nd-cleanup[12403]: Cleaning up 218 MB shifted logs.
Aug 23 12:13:40 host kernel: [77136.879899] aufs
au_xino_do_write:381:find[12414]: I/O Error, write failed (4294967268)

- /proc/mounts (instead of the output of mount(8))
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /ro/dev devtmpfs rw,relatime,size=10240k,nr_inodes=128011,mode=755 0 0
devpts /ro/dev/pts devpts
rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=103420k,mode=755 0 0
/dev/disk/by-uuid/bcdfba9e-fbed-4aa2-8db2-43d6f576d016 /ro ext4
ro,relatime,user_xattr,barrier=1,data=ordered 0 0
aufs-tmpfs /rw tmpfs rw,relatime 0 0
aufs / aufs rw,relatime,si=64ca10cb 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
tmpfs /dev tmpfs rw,relatime,size=10240k,mode=755 0 0
tmpfs /run/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=206820k 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
/dev/sda3 /persist ext4 rw,noatime,user_xattr,barrier=1 0 0
tmpfs /tmp tmpfs rw,nosuid,nodev,relatime,size=206820k 0 0

- /sys/module/aufs/*
==> /sys/module/aufs/initstate <==
live
==> /sys/module/aufs/refcnt <==
63
==> /sys/module/aufs/srcversion <==
CD923A8FDD65AE0929495D6
==> /sys/module/aufs/version <==
3.2-20130204
==> /sys/module/aufs/parameters/brs <==
1

- /sys/fs/aufs/* (if you have them)
==> /sys/fs/aufs/config <==
CONFIG_AUFS_FS=m
CONFIG_AUFS_BRANCH_MAX_127=y
CONFIG_AUFS_SBILIST=y
CONFIG_AUFS_EXPORT=y
CONFIG_AUFS_BR_HFSPLUS=y
CONFIG_AUFS_BDEV_LOOP=y
==> /sys/fs/aufs/si_64ca10cb/br0 <==
/rw=rw
==> /sys/fs/aufs/si_64ca10cb/br1 <==
/ro=ro
==> /sys/fs/aufs/si_64ca10cb/xi_path <==
/rw/.aufs.xino

- /debug/aufs/* (if you have them)
n/a

- linux kernel version
  if your kernel is not plain, for example modified by distributor,
  the url where i can download its source is necessary too.
root@NOMAD-BLN-test01Xstd:~# uname -v
#1 SMP Debian 3.2.46-1
(Debian GNU/Linux 7.0 "Wheezy")

- aufs version which was printed at loading the module or booting the
  system, instead of the date you downloaded.
[    3.031646] aufs: module is from the staging directory, the quality
is unknown, you have been warned.
[    3.034721] aufs 3.2-20130204

- configuration (define/undefine CONFIG_AUFS_xxx)
See /sys/fs/aufs/config above.

- kernel configuration or /proc/config.gz (if you have it)
n/a

- behaviour which you think to be incorrect
On a full disk, AUFS should not reach a state where only reboot recovers.

- actual operation, reproducible one is better
Spam log files and run "logrotate" manually. Disk will get full and
logrotate will free a bit - until a certain point when this stops
working.

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk

Reply via email to