[ofa-general] Re: [PATCHv4 RFC] Scalable Reliable Connection: API and documentation
Michael S. Tsirkin
mst at dev.mellanox.co.il
Sun Sep 9 00:00:09 PDT 2007
> Quoting Jack Morgenstein <jackm at dev.mellanox.co.il>:
> Subject: Re: [PATCHv4 RFC] Scalable Reliable Connection: API and documentation
>
> On Thursday 09 August 2007 10:24, Michael S. Tsirkin wrote:
> > +/**
> > + * ibv_open_src_domain - open an SRC domain
> > + * Returns a reference to an SRC domain.
> > + *
> > + * @context: Device context
> > + * @fd: descriptor for inode associated with the domain
> > + * If fd == -1, no inode is associated with the domain; in this case,
> > + * the only legal value for oflag is O_CREAT
> > + *
> > + * @oflag: oflag values are constructed by OR-ing flags from the following list
> > + *
> > + * O_CREAT
> > + * If a domain belonging to device named by context is already associated
> > + * with the inode, this flag has no effect, except as noted under O_EXCL
> > + * below. Otherwise, a new SRC domain is created and is associated with
> > + * inode specified by fd.
> > + *
> > + * O_EXCL
> > + * If O_EXCL and O_CREAT are set, open will fail if a domain associated with
> > + * the inode exists. The check for the existence of the domain and creation
> > + * of the domain if it does not exist is atomic with respect to other
> > + * processes executing open with fd naming the same inode.
> > + */
> > +struct ibv_src_domain *ibv_open_src_domain(struct ibv_context *context,
> > + int fd, int oflag);
> >
> Michael,
>
> Why do we need the EXCL bit?
> If an app wishes to open exclusive, it can just
> set fd = -1, and the domain obtained is limited to that process.
>
> Is there some other intent for opening exclusive besides restricting the
> obtained domain to a single process?
O_EXCL is not used to restrict the domain to a single process.
Rather, it is used to test for domain existance.
> If we get rid of the EXCL flag, then we can eliminate the oflag parameter.
We still want the O_CREAT flag, so we can't, anyway.
--
MST
More information about the general
mailing list