Mercurial > hg > nginx-quic
diff src/os/unix/ngx_files.c @ 2615:ceef364208c8
ngx_fs_bsize()
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 30 Mar 2009 07:43:06 +0000 |
parents | 5e87ddb4764f |
children | a2c1b4f74ea7 6b8284fc958d |
line wrap: on
line diff
--- a/src/os/unix/ngx_files.c +++ b/src/os/unix/ngx_files.c @@ -416,3 +416,50 @@ ngx_directio_off(ngx_fd_t fd) } #endif + + +#if (NGX_HAVE_STATFS) + +size_t +ngx_fs_bsize(u_char *name) +{ + struct statfs fs; + + if (statfs((char *) name, &fs) == -1) { + return 512; + } + + if ((fs.f_bsize % 512) != 0) { + return 512; + } + + return (size_t) fs.f_bsize; +} + +#elif (NGX_HAVE_STATVFS) + +size_t +ngx_fs_bsize(u_char *name) +{ + struct statvfs fs; + + if (statvfs((char *) name, &fs) == -1) { + return 512; + } + + if ((fs.f_frsize % 512) != 0) { + return 512; + } + + return (size_t) fs.f_frsize; +} + +#else + +size_t +ngx_fs_bsize(u_char *name) +{ + return 512; +} + +#endif