The Pnfs Version 3.1.4


News


Compatibility

No problem coming from 3.1.3. For earlier versions consult V3.1.3.

Setsize throu .(pset)(...)

V3.1.4 is in the process of being prepared to fit the needs for the DESY HSM disk cache.
The
   create .(pset)(<pnfsId>)(size)(<size>)
   rm  .(pset)(<pnfsId>)(size)(<size>)
allows to set the size of a file only knowing its pnfsID. Simalar to .(fset) setting the size to a none zero value is only allowed once. To reset the size to zero rm .(pset)(...) has to be used. The .(pset) file doesn't exist as long as the filesize is zero.

Improved shared memory resource handling

V3.1.4 behaves somehow smarter concerning the shmat routines. Some smaller hosts have a rather low limit of shared memory attached to one process. If shmcom/shmcomlow.c detects that limit by not getting a new shared memory area attached, it detaches those shared memory portions which are no longer needed. The disadvantage is that this sheme hides the problem of a badly configured system.

Extended log for dbserver on remove file

The removal of a file is now recorded into $dbserverLog as well as in $pnfsdLog. The $dbserverLog prints detailed information about the attempt to copy the different levels into the $trash directory. For each level above 0, a return code character is printed inside brackets : <xxxxxxx>. Where the position of the 'x' corresponds to the level from 1 to 7 and the meaning of the characters are :
CodeMeaning
+The corresponding level was not empty and could be copied to $trash/<level>/<pnfsID>
PThe level file couldn't be opened.
SThe level file was empty.
QThe trash file of that level couldn't be opened.
RAn I/O error occured while reading the level file.
WAn I/O error occured while writing the trash file.
CAn I/O error occured while closing the trash file.
XAn I/O error occured while renaming the trash file.

Important Note

There is a list of reserved keywords which are not allowed to be used as database names. Those keywords are :
shmkey, shmclients, shmservers, pnfs, environment, database, trash, pnfscopies, pmountdLog, pnfsdLog, dbserverLog, pnfsdLevel, dbserverLevel, pmountdLevel, hardlinks, netmask, levelmask, remtrash

Known and fixed Bugs

The shmcom/shmcomlow.c assumed a NULL as return code from shmat in cases of problems. BUT shmat returns a (void *) -1. This has been changed.