From: Christoph Hellwig <hch@infradead.org>
To: Dave Chinner <david@fromorbit.com>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 2/2] xfs: xfs_attr_inactive leaves inconsistent attr fork state behind
Date: Tue, 5 May 2015 22:02:08 -0700 [thread overview]
Message-ID: <20150506050208.GA4278@infradead.org> (raw)
In-Reply-To: <1430780408-12539-3-git-send-email-david@fromorbit.com>
> -STATIC void
> +void
> xfs_attr_fork_reset(
Maybe rename it to xfs_attr_fork_remove while you're at it?
> + xfs_ilock(dp, lock_mode);
> + if (!XFS_IFORK_Q(dp))
> + goto out_destroy_fork;
> + xfs_iunlock(dp, lock_mode);
The use of a goto here seems confsing as it moves the code to just
free the attribute code out of line like some error handling.
It could also use a comment on when we have an in-memory attribute
fork but XFS_IFORK_Q is false. I don't really know when that
would be true given that xfs_attr_shortform_remove either removes
the attribute fork, or asserts that the forkoff is non-zero when
it is left as-is.
> /*
> - * Decide on what work routines to call based on the inode size.
> + * It's unlikely we've raced with an attribute fork creation, but check
> + * anyway just in case.
> */
We always need to check for races if they are possible, no matter how
unlikely they are. So that just in case comment seems confusing.
> + if (XFS_IFORK_Q(ip)) {
> error = xfs_attr_inactive(ip);
> if (error)
> return;
> }
Given that we don't even call xfs_attr_inactive when XFS_IFORK_Q is
false the check above doesn't seem to be reachable anyway. At least
I can't think of a way how we could add an attr fork in a way that
races with inode teardown.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2015-05-06 5:02 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-04 23:00 [PATCH 0/2] xfs: couple of corruption fixes Dave Chinner
2015-05-04 23:00 ` [PATCH 1/2] xfs: extent size hints can round up extents past MAXEXTLEN Dave Chinner
2015-05-05 15:31 ` Brian Foster
2015-05-04 23:00 ` [PATCH 2/2] xfs: xfs_attr_inactive leaves inconsistent attr fork state behind Dave Chinner
2015-05-05 15:31 ` Brian Foster
2015-05-06 5:02 ` Christoph Hellwig [this message]
2015-05-26 23:44 ` Dave Chinner
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=20150506050208.GA4278@infradead.org \
--to=hch@infradead.org \
--cc=david@fromorbit.com \
--cc=xfs@oss.sgi.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