Remember to unlock the (optional) vnode in vfs_stdextattrctl(). Failing

to do this made the following script hang:

	#!/bin/sh
	set -ex

	extattrctl start /tmp
	extattrctl initattr 64 /tmp/EA00
	extattrctl enable /tmp user ea00 /tmp/EA00
	extattrctl showattr /tmp/EA00

if the filesystem backing /tmp did not support EAs.

The real solution is probably to have the extattrctl syscall do the
unlocking rather than depend on the filesystem to do it.  Considering
that extattrctl is going to be made obsolete anyway, this has dogwash
priority.

Sponsored by:	DARPA & NAI Labs.
This commit is contained in:
phk 2002-08-13 11:11:51 +00:00
parent 5727268ab3
commit 2bddcb2f12

View File

@ -819,6 +819,8 @@ vfs_stdextattrctl(mp, cmd, filename_vp, attrnamespace, attrname, td)
const char *attrname;
struct thread *td;
{
if (filename_vp != NULL)
VOP_UNLOCK(filename_vp, 0, td);
return(EOPNOTSUPP);
}