[OpenAFS-devel] some requests

Peter Somogyi psomogyi@gamax.hu
Mon, 21 Feb 2005 13:57:20 +0100


--Boundary-00=_wqdGCByhjZGLOJD
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi,

I've got some requests to implement, see the attachment for descriptions and plans.
We would like to see the implementation in the CVS.
Any comments appreciated.

Peter

--Boundary-00=_wqdGCByhjZGLOJD
Content-Type: text/plain;
  charset="iso-8859-1";
  name="requests_01_02_04.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="requests_01_02_04.txt"

#01:
"extend the vos examine command with the parameters -server
-partition  to do a bulk vos examine for a server or for a server specific
partition ."

"bulk" means here multiple volume listing (textual).

Plan:
- modify src/volser/vos.c

#02:
"an additional "flag" inside VLDB where we update a counter each time a
file within a specific volume was updated (needed to query volumes which
are worth to backup) which can be explored with vos examine and can be
reseted to zero with the vos setfield command (and over the api)"

Plan:
- a spare afs_int32 must be reserved from VolumeDiskData as counter
- volume header must be updated on each file change => modify fileserver
- counter reaches maximum: doesn't overflow, remains max
- cmd line option: for example "-counter_reset"
- one volint.xg/volintInfo.spare2 bit is needed
- api modification to support querying and reseting this field

#04:
"why is afs not updating ctime, mtime and atime in the filesystem and
what needs to be done , to update this fields ..."

What I've found:
- there are 2 dates stored for a vnode:
        - "ClientModTime" - modification time measured at the client side
        - "ServerModTime" - modification time measured at the server side
        ServerModTime is used only for partial dumps/releases.
        ClientModTime is transmitted for all 3 types of times: ctime, mtime, atime
        (it means you always get only the mtime)
- possibilities:
	- updating "atime" is ambiguous/meaningless (multiple clients with cache, additional network load)
	- only ctime support could be implemented
		- I'm not sure, but maybe volume format change is needed, too (I'm still examining src/vol)
		- fileserver interface must be extended

Request:
	- implement ctime support

Plan:
	- modify fileserver (with interface) (src/viced)
	- modify src/vol
	- perhaps change the volume format to support ctime (?)
	- modify client (src/afs)

--Boundary-00=_wqdGCByhjZGLOJD--