On Fri, Feb 05 2010, H. Tolley wrote: > > The function static void get_file_system_type(struct fio_file *f) > (in file filesetup.c) has a call to lstat(..) which if given a > symbolic link will give information about the link instead of > information about the target of the link. In Solaris it is very > common that the disk device nodes in /dev/dsk/ are symbolic links to > files in /devices/... and so the call to lstat(..) will not properly > identify a file as a block device instead of a normal file. > > A call to stat(..) on a filename that represents a block device will > not return the proper size on Solaris. Combined with the > above-mentioned mis-identification of a link to a block device as a > normal file, the function file_size(..) is invoked rather than a call > to bdev_size(..) and fio will not run properly. > > Fix: Can the call to lstat(..) in get_file_system_type(..) be replaced > by a call to stat(..)? > > This happens on Open Solaris v10 x86_64. That does look like a bug, that stat should return info about the real device and not a potential link. I have committed a fix for that now. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html