lkml.org 
[lkml]   [2008]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [patch 06/14] hfsplus: remove hfsplus_permission()
From
Date
> > Semi-concrete: link(2) locks the target's parent and the source.
> > Cross-directory rename(2) locks both parents. If link's target is a
> > file which has children, this can result in an ABBA deadlock. That's
> > _before_ the filesystem's ->link() or ->rename() function is called.
>
> I'm afraid you have to be more concrete than this.
> hfsplus_file_inode_operations doesn't have a link or rename operation, so
> if one your source parents above involves a file, it shouldn't get this
> far or you have to describe your scenario in more detail.

Heh, you just want me to do all the hard work :)

OK, I'll go along:

/mnt/a/x is a regular file

ln /mnt/a/x /mnt/b/x
rename /mnt/a/x /mnt/b/x/p & ln /mnt/b/x /mnt/a/q

Neither ->rename nor ->link is required to be defined on x. The
rename will first lock x, then a. The link will first lock a then x,
AFAICS.

This is probably just one of several ways to make it deadlock.

Hmm?

Miklos


\
 
 \ /
  Last update: 2008-05-24 09:03    [W:0.090 / U:0.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site