On Wednesday 11 May 2005 11:15, Stephen Smalley wrote:
My concern is that the current code seems very fragile; getting
references without saving them anywhere, putting references that were
not acquired in the same call nor explicitly saved earlier (even though
in theory you've "saved" them by getting them earlier), putting a
reference and then re-getting one shortly thereafter without any
revalidation of the dentry.
I mucked around with it a bit and combined your idea and my idea of how it
should be done. I "_think_" it should be A-okay now. I'm going to release
a
patch momentarily and I'll try to explain fully what I'm doing with pinning
(and I've even thrown in some comments to the code to ease the pain a
little). I was encountering deadlock with the way I was doing it previously
(because I wasn't dropping the reference in d_delete and never getting to
dentry_iput).
-tim