All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Dongyang <lidongyang@novell.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH] ocfs2: alloc orphaned inode in ocfs2_symlink
Date: Fri, 9 Apr 2010 10:37:46 +0800	[thread overview]
Message-ID: <201004091037.46679.lidongyang@novell.com> (raw)
In-Reply-To: <20100408231022.GS11402@wotan.suse.de>

On Friday 09 April 2010 07:10:22 Mark Fasheh wrote:
> Hi Li,
> 
> On Thu, Apr 08, 2010 at 09:13:08AM +0800, Li Dongyang wrote:
> > alloc the inode orphaned in ocfs2_symlink so we can delete the inode
> > in the iput if we meet errors with the inode, e.g. ocfs2_add_inode_data.
> > or ocfs2_query_inode_wipe will complain the inode is not orphaned on
> > disk.
> 
> Thanks for the patch. Your solution is too heavy for such a special case -
> we can't lock the orphan dir and orphan / de-orphan an inode every time a
> symlink is made.
> 
Hi, Mark,
Thanks for reviewing, Jan Kara and I also think this is expensive.
> The good news is that I believe there's an easier way to handle this. You
> can add a flag to ocfs2_inode_info->ip_flags (see fs/ocfs2/inode.h). I
>  would call this flag something like OCFS2_INODE_SKIP_ORPHAN_DIR. If the
>  allocation fails, we could mark the inode with that flag. From a quick
>  look at the code, the only places that need additional checking for the
>  flag would be: ocfs2_query_inode_wipe() and ocfs2_wipe_inode().
> 
Looking into that.
> 
> Ultimately, I think the best solution is for us to delete the inode
> "in-place". We actually already have all the locks and journal credits we
> need at that point. It's a bit tricky though because we have to be careful
> what state the inode gets set in, which is why for a short-term fix, the
> above solution is ok.
Glad to know this way, maybe I'll post an updated patch.
> 	--Mark
> 
> --
> Mark Fasheh
> 

      reply	other threads:[~2010-04-09  2:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-08  1:13 [Ocfs2-devel] [PATCH] ocfs2: alloc orphaned inode in ocfs2_symlink Li Dongyang
2010-04-08 21:12 ` Joel Becker
2010-04-09  2:32   ` Li Dongyang
2010-04-08 23:10 ` Mark Fasheh
2010-04-09  2:37   ` Li Dongyang [this message]

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=201004091037.46679.lidongyang@novell.com \
    --to=lidongyang@novell.com \
    --cc=ocfs2-devel@oss.oracle.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.