Hi,

While testing how my application behaves on zfs when the underlying file system 
fills up I found that the msync system call can return a EDQUOT. The 
documentation for msync does not indicate that it can return EDQUOT. I've 
created an example program that illustrates the failure.

If you look at the program you will see that it creates a file, writes 16K to 
it, syncs the file. Subsequently it mmaps in the file and repeatedly msyncs 
while filling up the filesystem through the growth of a different file. 
Eventually one of the msyncs fails with EDQUOT, this failure seems bad and 
wrong.

I also find it a little strange that it returns EDQUOT rather that ENOSPC, but 
lets not get into that.

The program requires two file names. The program will create both of these 
files, the first will be 16K in size. The second will grow to fill the 
filesystem. Before running the test I suggest that a size limited very small 
zfs file system be created, and the test run there.

Any comments or feedback welcome.

Neil.
--
This messages posted from opensolaris.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: zfs-msync.c
Type: application/octet-stream
Size: 1204 bytes
Desc: not available
URL: 
<http://mail.opensolaris.org/pipermail/zfs-code/attachments/20071001/df359adf/attachment.obj>

Reply via email to