[OpenAFS] vice partition sizes, and large disks
chas williams
chas@cmf.nrl.navy.mil
Sat, 16 Jun 2001 10:22:31 -0400
In message <200106161345.NAA43331878@smtp4ve.mailsrvcs.net>,Bill Zumach writes:
>current OSs using the namei interface, NT and Linux, since NT has a fast
>file create operation (based on timing it) and the ext2 filesystem has
>a relaxed method of updating metadata.
solaris' ufs logging probably does what you want. it stores the metadata
operations in a logfile and periodically flushes out the log. from the
man page:
logging | nologging
If logging is specified, then logging is
enabled for the duration of the mounted
file system. Logging is the process of
storing transactions (changes that make up
a complete UFS operation) in a log before
the transactions are applied to the file
system. Once a transaction is stored, the
transaction can be applied to the file sys-
tem later. This prevents file systems from
becoming inconsistent, therefore eliminat-
ing the need to run fsck. And, because
fsck can be bypassed, logging reduces the
time required to reboot a system if it
crashes, or after an unclean halt. The
default behavior is nologging.
The log is allocated from free blocks on
the file system, and is sized approximately
1 Mbyte per 1 Gbyte of file system, up to a
maximum of 64 Mbytes. Logging can be
enabled on any UFS, including root (/).
The log created by UFS logging is continu-
ally flushed as it fills up. The log is
totally flushed when the file system is
unmounted or as a result of the lockfs -f
command.
this should improve performance when creating files. a simple test on
a blade 1000 running solaris 8:
localhost# mount /space
localhost# /bin/time ./createfile 5000
real 49.3
user 0.0
sys 0.5
localhost# mount -o logging /space
localhost# cd /space
localhost# /bin/time ./createfile 5000
real 0.1
user 0.0
sys 0.0