[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

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