La estructura de fileinfo_t proporciona información sobre un archivo. El nombre de archivo al que corresponde una E/S es apuntado por args[2] en los sondeos start, done, wait-start y wait-done. La presencia de información de archivo está sujeta al sistema de archivos que proporciona esta información al distribuir solicitudes de E/S. Algunos sistemas de archivos, especialmente sistemas de archivos de terceros, no pueden proporcionar esta información. Además, las solicitudes de E/S pueden emanar de un sistema de archivos del que no exista información de archivos. Por ejemplo, las E/S a los meta dados de un sistema de archivos no se asociarán con ningún archivo. Por último, algunos sistemas de archivos altamente optimizados pueden agregar E/S de archivos separados en una sola solicitud de E/S. En este caso, es posible que el sistema de archivos proporcione información del archivo que representa la mayor parte de la E/S o del archivo que representa parte de la E/S. Asimismo, es posible que el sistema de archivos no proporcione ninguna información sobre los archivos.
La definición de la estructura de fileinfo_t es la siguiente:
typedef struct fileinfo { string fi_name; /* name (basename of fi_pathname) */ string fi_dirname; /* directory (dirname of fi_pathname) */ string fi_pathname; /* full pathname */ offset_t fi_offset; /* offset within file */ string fi_fs; /* filesystem */ string fi_mount; /* mount point of file system */ } fileinfo_t;
El campo fi_name contiene el nombre del archivo, pero no incluye ningún componente de directorio. Si no se asocia información de archivo a una E/S, el campo fi_namese configurará en la cadena <none>. En algunos casos aislados, es posible que el nombre de ruta asociado a un archivo sea desconocido. En este caso, el campo fi_name se configurará en la cadena <unknown>.
El campo fi_dirname contiene únicamente el componente de directorio del nombre de archivo. Al igual que en fi_name, esta cadena se puede configurar en <none> si no hay información de archivo, o en <unknown> si el nombre de ruta asociado al archivo es desconocido.
El campo fi_pathname contiene el nombre de ruta completo al archivo. Al igual que en fi_name, esta cadena se puede configurar en <none> si no hay información de archivo, o en <unknown> si el nombre de ruta asociado al archivo es desconocido.
El campo fi_offset contiene el desplazamiento dentro del archivo, o -1 si no hay información de archivo o si el sistema de archivos no especifica el desplazamiento.