9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] 9p fids and references
@ 2009-07-30 15:25 hugo rivera
  2009-07-30 16:01 ` roger peppe
  0 siblings, 1 reply; 3+ messages in thread
From: hugo rivera @ 2009-07-30 15:25 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Hi,
I am trying to implement a toy fs using the 9p protocol. I've been
reading Francisco's intro to plan 9 and section 5 of the manual pages,
and I have to say I am surprised because I am actually learning from
them; plan 9 man pages are really readable :-) (not to mention
Francisco's fine intro).
Anyway, there's one thing unclear for me and it's about fids and
references: when a client opens a connection to my server, it chooses
fids for all the files I have inside and also navigates the fs and
performs operations using these fids (which are somehow mapped to qids
in my server, but this isn't cristal clear for me; tough I know qids
are unique and fids not necessarily so). The Fid structure contains an
aux pointer to whatever I want and I am using it, but my problems
start when I want to get rid of the data pointed by aux. In my fs,
it's guaranteed that each file points to its unique data structure
(pointed by aux) and there's no way two different files point to the
same data structure (but maybe two different fids do?) so reference
counting is unnecessary, am I right? I believe that clone shouldn't be
a problem since I am creating copies of the structure instead of
passing just a reference.
I am trying to avoid dangling pointers when a file is removed without
using reference counting, is it possible?
Saludos

--
Hugo



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [9fans] 9p fids and references
  2009-07-30 15:25 [9fans] 9p fids and references hugo rivera
@ 2009-07-30 16:01 ` roger peppe
  2009-07-31  8:45   ` hugo rivera
  0 siblings, 1 reply; 3+ messages in thread
From: roger peppe @ 2009-07-30 16:01 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

2009/7/30 hugo rivera <uair00@gmail.com>:
> [...] there's no way two different files point to the
> same data structure (but maybe two different fids do?) so reference
> counting is unnecessary, am I right?

no, because a file can be opened several times.
when you open a file you get a new fid.

so if you've got resources associated with the file,
as opposed to resources private to the fid,
you have to reference count them (or poison any
fids that point to the file, if you *really* want the
resource to go away)



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [9fans] 9p fids and references
  2009-07-30 16:01 ` roger peppe
@ 2009-07-31  8:45   ` hugo rivera
  0 siblings, 0 replies; 3+ messages in thread
From: hugo rivera @ 2009-07-31  8:45 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

OK, thanks.

2009/7/30, roger peppe <rogpeppe@gmail.com>:
> 2009/7/30 hugo rivera <uair00@gmail.com>:
>  > [...] there's no way two different files point to the
>
> > same data structure (but maybe two different fids do?) so reference
>  > counting is unnecessary, am I right?
>
>
> no, because a file can be opened several times.
>  when you open a file you get a new fid.
>
>  so if you've got resources associated with the file,
>  as opposed to resources private to the fid,
>  you have to reference count them (or poison any
>  fids that point to the file, if you *really* want the
>  resource to go away)
>
>


--
Hugo



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-07-31  8:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-30 15:25 [9fans] 9p fids and references hugo rivera
2009-07-30 16:01 ` roger peppe
2009-07-31  8:45   ` hugo rivera

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).