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>
