cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Bob Peterson <rpeterso@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [GFS2 PATCH 06/15] GFS2: Prevent gl_delete work for re-used inodes
Date: Tue, 6 Oct 2015 15:02:19 -0400 (EDT)	[thread overview]
Message-ID: <1092374767.41518211.1444158139643.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <m2bncbu9ha.fsf@discipline.rit.edu>

----- Original Message -----
> Bob Peterson <rpeterso@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
 



  reply	other threads:[~2015-10-06 19:02 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-05 15:36 [Cluster-devel] [GFS2 PATCH 00/15] Fifteen patches related to file unlink->delete->new Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 01/15] GFS2: Update master statfs buffer with sd_statfs_spin locked Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 02/15] GFS2: Allow fail_gunlock3 to set the free_vfs_inode bit Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 03/15] GFS2: Protect log tail calculations with inside locks Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 04/15] GFS2: Wait for iopen glock dequeues Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 05/15] GFS2: Reintroduce a timeout in function gfs2_gl_hash_clear Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 06/15] GFS2: Prevent gl_delete work for re-used inodes Bob Peterson
2015-10-06 18:40   ` Andrew W Elble
2015-10-06 19:02     ` Bob Peterson [this message]
2015-10-06 19:33       ` Andrew W Elble
2015-10-12 19:15         ` Andrew W Elble
2015-10-13 17:28           ` Andrew W Elble
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 07/15] GFS2: Truncate address space mapping when deleting an inode Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 08/15] GFS2: Don't filter out I_FREEING inodes anymore Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 09/15] GFS2: generalize gfs2_check_blk_type Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 10/15] GFS2: Change from tr_touched to tr_bufs Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 11/15] GFS2: Add new function gfs2_inode_lookup_for_del Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 12/15] gfs2: Remove unused param non_block from gfs2_inode_lookup Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 13/15] gfs2: Use new variable i_gl instead of ip->i_gl Bob Peterson
2015-10-06 18:31   ` Andrew W Elble
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 14/15] GFS2: Hold onto iopen glock longer when dinode creation fails Bob Peterson
2015-10-05 15:36 ` [Cluster-devel] [GFS2 PATCH 15/15] GFS2: Rework gfs2_evict_inode to prevent collisions with openers Bob Peterson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1092374767.41518211.1444158139643.JavaMail.zimbra@redhat.com \
    --to=rpeterso@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).