[PVFS-users] IS_DEADDIR and pvfs_revalidate_inode

Rob Ross rross@mcs.anl.gov
Fri, 16 Jan 2004 08:39:36 -0600 (CST)


Christoph,

Just to be clear -- the message isn't necessarily an error.  It is there 
to help us debug, but it can happen in normal circumstances.

The kernel is keeping directory entries that were deleted around until the 
respective files are closed, yes.

Are you seeing odd behavior too, or just the errors?

Can we see your metadata benchmark :)?

Regards,

Rob

On Fri, 16 Jan 2004, Christoph Biardzki wrote:

> Hello Rob,
> 
> it mainly occurs with lots of metadata traffic from several nodes - I 
> can trigger it using my parallelized metadata benchmark but some of our 
> users also noticed this problem before doing "normal" I/O.
> 
> What is the usual semantics in this case? Keep the directory until it's 
> closed (like open files)?
> 
> 
> Greetings from Munich,
> 
>   Christoph
> 
> 
> Am 15.01.2004 um 18:34 schrieb Rob Ross:
> 
> > Christoph,
> >
> > That condition can occur when a directory is deleted but files in the
> > directory are still open.
> >
> > We were also seeing this happen in cases that we didn't expect, thus 
> > the
> > error message.
> >
> > What type of access patterns are causing this for you?
> >
> > Thanks,
> >
> > Rob
> >
> > On Tue, 13 Jan 2004, Christoph Biardzki wrote:
> >
> >> Hello,
> >> I'm still looking into some trouble with metadata operations and the 
> >> message
> >>
> >> (dir.c, 651): DEAD directory detected going into 
> >> pvfs_revalidate_inode.
> >> (dir.c, 651): DEAD directory detected going into 
> >> pvfs_revalidate_inode.
> >> (dir.c, 651): DEAD directory detected going into 
> >> pvfs_revalidate_inode.
> >> (dir.c, 651): DEAD directory detected going into 
> >> pvfs_revalidate_inode.
> >>
> >>
> >> appearing on the PVFS clients during heavy metadata traffic.
> >>
> >> In dir.c there is a corresponding line of code which uses the kernel
> >> macro IS_DEADDIR to find out whether the directory entry has been
> >> deleted. Could someone explain how error handling in this case works?
> >> Does processing simply continue after the PERROR and why?
> >>
> >> Regards,
> >>
> >>   Christoph
> >>
> >> #ifdef IS_DEADDIR
> >>          if(IS_DEADDIR(dentry->d_inode))
> >>          {
> >>                  PERROR("DEAD directory detected going into
> >> pvfs_revalidate_inode.\n");
> >>          }
> >> #endif
> >
> >
> -- 
> Leibniz Rechenzentrum München (LRZ)
> http://www.lrz.de
> High Performance Systems Division
> Barer Str. 21 - 80333 Munich - Germany
> Tel. ++49-(0)89 / 289-28853, Room S1527
> 
> _______________________________________________
> PVFS-users mailing list
> PVFS-users@www.beowulf-underground.org
> http://beowulf-underground.org/mailman/listinfo/pvfs-users
> 
>