[libvirt] [PATCH 1/1] lxc: use our own hand-rolled code in place of unlockpt and grantpt (v2)

Serge E. Hallyn serge.hallyn at canonical.com
Wed Oct 19 00:58:48 UTC 2011


Quoting Eric Blake (eblake at redhat.com):
> >>[but we still have to fix the hard-coding of
> >>gid=5 in the mount() option].
> >
> >I missed something - why do we have to fix that?
> 
> We don't have to fix it now, but we should fix it someday.  There's
> nothing that says a distro has to map 'tty' to gid 5, and while most
> distros do that, we should instead be portable to compilation on a
> distro where 'tty' is gid 6 (or some other unusual number).

But that gid should be set according to what the guest expects, right?
So we actually can't do it at compilation?

> >>Instead, I'd just do this as:
> >>
> >>virAsprintf(ttyName, "/dev/pts/%d", ptyno);
> >
> >Where virAsprintf will allocate when ttyName starts as null?
> 
> Yep - the whole point of virAsprintf is to allocate the string on
> your behalf, and to gracefully ensure that ttyName is NULL on
> allocation failure - much more compact than using snprintf yourself,
> and avoids the waste of a PATH_MAX allocation.
> 
> And, while you are at it, what about also fixing src/util/util.c to
> remove virFileOpenTtyAt (now that no one calls that), by moving its
> body into virFileOpenTty except for using posix_openpt instead of
> open("/dev/ptmx").

I was thinking that should be a separate patch for ease of review, but
I'll roll it into my next patch.

thanks,
-serge




More information about the libvir-list mailing list