[OpenAFS-devel] Fuse and testsuite

Simon Wilkinson sxw@inf.ed.ac.uk
Sun, 25 Sep 2011 10:31:10 +0100


On 25 Sep 2011, at 07:27, Troy Benjegerdes <hozer@hozed.org> wrote:

> So I figured once I found out how to make fuse work, and there was already=
 a=20
> testsuite, I should add something, so here goes.

Cool. Would you mind uploading this to gerrit? It would also make things muc=
h easier if you were prepared to license these files under a BSD-style licen=
se - at the moment, the copyright information refers to a file that isn't wi=
thin the patch set, and we are very keen on avoiding a proliferation of diff=
erent license texts within the codebase.

>  which requires me to at least be
> able to perform 'fs' commands through the fuse interface.=20
>=20
> I saw some mention of maybe using xattrs to do this...

To perform fs commands, there needs to be a way of issuing path ioctls to th=
e cache manager. On Linux this is already done by using ioctls against a "sp=
ecial" file in /proc. For my money, the easiest way of doing this for fuse w=
ould be to also allow a special file that lives within the AFS namespace, an=
d issue ioctls on that. Then, fs just needs a command line switch to say whi=
ch AFS root it should be targeting.

> would this make the most
> sense? Would xattrs also be usefull in providing some information to a use=
r
> (or just userspace) on the status of connected/disconnected/uploading a fi=
le?

My preferred mechanism for issuing reconnection status reports to the user w=
ould be to adapt the system that is already used to provide cache manager de=
bugging information through fstrace. This supports the idea of collections, s=
o you would simply define a disconnected state collection. You've then got a=
 kernel to user space event logging infrastructure which could be easily har=
nessed by the fs command to report on which files are being resync'd, and ho=
w many more there are to go.

If you are interested in implementing any of this, let me know, and I'll be h=
appy to point you in the right direction.

Cheers,

Simon
>=20