From: Arkadiusz Miskiewicz <arekm@maven.pl>
To: Dave Chinner <david@fromorbit.com>
Cc: xfs@oss.sgi.com
Subject: Re: 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time)
Date: Thu, 4 Dec 2008 09:13:06 +0100 [thread overview]
Message-ID: <200812040913.06733.arekm@maven.pl> (raw)
In-Reply-To: <20081203220934.GA32301@disturbed>
On Wednesday 03 of December 2008, Dave Chinner wrote:
> On Wed, Dec 03, 2008 at 10:42:29PM +0100, Arkadiusz Miskiewicz wrote:
> > On Wednesday 03 of December 2008, Dave Chinner wrote:
> > [arekm@farm rpm]$ touch /home/users/arekm/tmp/aa
> > [arekm@farm rpm]$ ./a.out
> > ret=-1 Invalid cross-device link
>
> Well, that's what we needed to know. The bug:
>
> 199 /*
> 200 * Lock all the participating inodes. Depending upon whether
> 201 * the target_name exists in the target directory, and
> 202 * whether the target directory is the same as the source
> 203 * directory, we can lock from 2 to 4 inodes.
> 204 */
> 205 >>>>> xfs_lock_inodes(inodes, num_inodes, XFS_ILOCK_EXCL);
> 206
> 207 /*
> 208 * If we are using project inheritance, we only allow renames
> 209 * into our tree when the project IDs are the same; else the
> 210 * tree quota mechanism would be circumvented.
> 211 */
> 212 if (unlikely((target_dp->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)
> && 213 (target_dp->i_d.di_projid !=
> src_ip->i_d.di_projid))) { 214 error = XFS_ERROR(EXDEV);
> 215 >>>>>>> xfs_rename_unlock4(inodes, XFS_ILOCK_SHARED);
> 216 xfs_trans_cancel(tp, cancel_flags);
> 217 goto std_return;
> 218 }
>
> Is that the unlock of the inodes is using the incorrect lock
> type for the unlock, (inodes lock XFS_ILOCK_EXCL, unlocked
> XFS_ILOCK_SHARED) which means they don't get unlocked and the next attempt
> to do anything with those inodes will hang.
>
> Compile-tested-only patch below that should fix the problem.
It fixes the problem for me. Thanks! I hope that it will reach stable@ team
for 2.6.27.9.
> Cheers,
>
> Dave.
--
Arkadiusz Miśkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2008-12-04 8:13 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-02 18:49 2.6.27.7 vanilla, project quota enabled and process stuck in D state (repeatable every time) Arkadiusz Miskiewicz
2008-12-02 19:03 ` Arkadiusz Miskiewicz
2008-12-03 3:20 ` Dave Chinner
2008-12-03 13:06 ` Arkadiusz Miskiewicz
2008-12-03 13:35 ` Arkadiusz Miskiewicz
2008-12-03 21:30 ` Dave Chinner
2008-12-03 21:42 ` Arkadiusz Miskiewicz
2008-12-03 22:07 ` Christoph Hellwig
2008-12-03 22:42 ` Christoph Hellwig
2008-12-03 22:09 ` Dave Chinner
2008-12-04 8:13 ` Arkadiusz Miskiewicz [this message]
2008-12-04 12:32 ` Christoph Hellwig
2008-12-04 21:34 ` 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=200812040913.06733.arekm@maven.pl \
--to=arekm@maven.pl \
--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