[Cluster-devel] [GFS2 PATCH 06/15] GFS2: Prevent gl_delete work for re-used inodes
Bob Peterson
rpeterso at redhat.com
Tue Oct 6 19:02:19 UTC 2015
----- Original Message -----
> Bob Peterson <rpeterso at redhat.com> writes:
>
> > This patch adds a new glock flag GLF_INODE_DELETING which signifies
> > when a glock is being used to change an inode from unlinked to
> > deleted. The flag is used in a few places:
>
> This is the change I made to what we're testing:
>
> diff --git a/fs/gfs2/trace_gfs2.h b/fs/gfs2/trace_gfs2.h
> index 20c007d..80f2ee7 100644
> --- a/fs/gfs2/trace_gfs2.h
> +++ b/fs/gfs2/trace_gfs2.h
> @@ -57,7 +57,8 @@
> {(1UL << GLF_QUEUED), "q" }, \
> {(1UL << GLF_LRU), "L" }, \
> {(1UL << GLF_OBJECT), "o" }, \
> - {(1UL << GLF_BLOCKING), "b" })
> + {(1UL << GLF_BLOCKING), "b" }, \
> + {(1UL << GLF_INODE_DELETING), "-" })
>
> #ifndef NUMPTY
> #define NUMPTY
>
>
> --
> Andrew W. Elble
> aweits at discipline.rit.edu
> Infrastructure Engineer, Communications Technical Lead
> Rochester Institute of Technology
> PGP: BFAD 8461 4CCF DC95 DA2C B0EB 965B 082E 863E C912
Hi Andrew,
Actually, I've found a few bugs and problems with that last patch set
and revised my patches last week. I've also added the glock flag, but
used "x" rather than "-" because I'm not sure I like punctuation marks there,
but nothing else makes sense either. The other changes are for the other
thing you spotted (which I caught in testing). The proper way to do it
is to initialize the i_gl to ip->i_gl in the evict code, and not have the
if at all. That affects two of the patches:
"gfs2: Use new variable i_gl instead of ip->i_gl"
and:
"GFS2: Rework gfs2_evict_inode to prevent collisions with openers"
I've been holding off on sending a revised set to see if I got other
comments or other problems during testing, but since you found them,
I'll just send out a new patch set.
Regards,
Bob Peterson
Red Hat File Systems
More information about the Cluster-devel
mailing list