comparison 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
comparison
equal deleted inserted replaced
2614:02fb50962b11 2615:ceef364208c8
414 414
415 return fcntl(fd, F_SETFL, flags & ~O_DIRECT); 415 return fcntl(fd, F_SETFL, flags & ~O_DIRECT);
416 } 416 }
417 417
418 #endif 418 #endif
419
420
421 #if (NGX_HAVE_STATFS)
422
423 size_t
424 ngx_fs_bsize(u_char *name)
425 {
426 struct statfs fs;
427
428 if (statfs((char *) name, &fs) == -1) {
429 return 512;
430 }
431
432 if ((fs.f_bsize % 512) != 0) {
433 return 512;
434 }
435
436 return (size_t) fs.f_bsize;
437 }
438
439 #elif (NGX_HAVE_STATVFS)
440
441 size_t
442 ngx_fs_bsize(u_char *name)
443 {
444 struct statvfs fs;
445
446 if (statvfs((char *) name, &fs) == -1) {
447 return 512;
448 }
449
450 if ((fs.f_frsize % 512) != 0) {
451 return 512;
452 }
453
454 return (size_t) fs.f_frsize;
455 }
456
457 #else
458
459 size_t
460 ngx_fs_bsize(u_char *name)
461 {
462 return 512;
463 }
464
465 #endif