lkml.org 
[lkml]   [2002]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] [2.4.20-pre2] File lease fixes
Hi Marcelo,

On Mon, 12 Aug 2002 23:47:03 -0300 (BRT) Marcelo Tosatti <marcelo@conectiva.com.br> wrote:
>
> On Tue, 13 Aug 2002, Stephen Rothwell wrote:
>
> > static inline int get_lease(struct inode *inode, unsigned int mode)
> > {
> > - if (inode->i_flock && (inode->i_flock->fl_flags & FL_LEASE))
> > + if (inode->i_flock)
> > return __get_lease(inode, mode);
> > return 0;
> > }
>
> Why do you remove the FL_LEASE check here?

Because there is a race between checking inode->i_flock and
inode->i_flock->fl_flags which a couple of people have actually
hit ... The check for FL_EASE is done again in __get_lease
but protected by the BKL.

This is just an optimisation and having the check here is only
faster in the case where there is a lock held that is NOT a lease.

This was the race fix provided by Willy.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:28    [W:0.025 / U:1.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site