bug in ufs?

Kostik Belousov kostikbel at gmail.com
Mon Jul 6 20:01:17 UTC 2009


On Mon, Jul 06, 2009 at 11:54:48PM +0400, Dmitry Morozovsky wrote:
> On Mon, 6 Jul 2009, Kostik Belousov wrote:
> 
> KB> > >>i have a strange problem with writing data to my ufs2+su filesystem.
> KB> > >>
> KB> > >>1. i made a 1T gpt partition on my storage server, and formatted it:
> KB> > >>newfs -U -m 0 -o time -i 32768 /dev/da1p3a
> KB> > >>
> KB> > >>2. i tried to move data from other servers to this filesystem, total 
> KB> > >>size of files is slightly less than 1T
> KB> > >>
> KB> > >>3. i encountered a 'No space left on device' while i still have 11G of 
> KB> > >>free space and about 13 million free inodes on the filesystem:
> KB> > >>
> KB> > >>#df -ih
> KB> > >>Filesystem     Size    Used   Avail Capacity  iused    ifree %iused 
> KB> > >>Mounted on
> KB> > >>/dev/da1p3a    1.0T    1.0T     11G    99% 20397465 13363173   60% 
> KB> > >>/mnt/45_114
> KB> > >>
> KB> > >>all i want to know is whether this is a bug or a feature? and if such 
> KB> > >>a behavior is well-known, where can i read about it?
> KB> > >Hi Marat,
> KB> > >
> KB> > >just a guess: Are there sparse Files on the Source System that are not 
> KB> > >being detected by the Tool you used to restore the data? If you used 
> KB> > >(bsd)tar, did you try -S?
> KB> > >
> KB> > >A while ago I ran into a similar Problem when copying 
> KB> > >Oracle-Database-Files (on Linux, though) and the -S - Option came to 
> KB> > >rescue.
> KB> > >
> KB> > >Cheers,
> KB> > >_ralf_
> KB> > 
> KB> > i have a huge amount of small files on the source systems, as you can 
> KB> > see they have about 20 million files and almost each of them is jpeg or 
> KB> > gif. afaik, there are no sparse files at all.
> KB> > 
> KB> > i still cannot figure out what is it: a free space leak in ufs2+su or 
> KB> > bug in statfs(3), that is used in df, or something else.
> KB> 
> KB> My guess that it is due to fragmentation.
> KB> As an experiment, try to create 1-byte file. Does it work on the filesystem
> KB> in described state ?
> 
> Doesn't UFS store one-byte (or several-bytes, like PID file) file entirely in 
> the inode, not consuming any data blocks?

No, 1-byte file is stored in fragment. Long write tries to allocate whole
block. This is why I wrote about fragmentation.

Answering your question, it is short symlinks that are stored in inode
in the data block pointers.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20090706/3e3e1b01/attachment.pgp


More information about the freebsd-stable mailing list