lkml.org 
[lkml]   [2006]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 2.6.19 5/5] fs: freeze_bdev with semaphore not mutex
    Date
    On Tuesday, 7 November 2006 23:45, Eric Sandeen wrote:
    > Andrew Morton wrote:
    >
    > >> --- linux-2.6.19-rc4.orig/fs/buffer.c 2006-11-07 17:06:20.000000000 +0000
    > >> +++ linux-2.6.19-rc4/fs/buffer.c 2006-11-07 17:26:04.000000000 +0000
    > >> @@ -188,7 +188,9 @@ struct super_block *freeze_bdev(struct b
    > >> {
    > >> struct super_block *sb;
    > >>
    > >> - mutex_lock(&bdev->bd_mount_mutex);
    > >> + if (down_trylock(&bdev->bd_mount_sem))
    > >> + return -EBUSY;
    > >> +
    > >
    > > This is a functional change which isn't described in the changelog. What's
    > > happening here?
    >
    > Only allow one bdev-freezer in at a time, rather than queueing them up?

    But freeze_bdev() is supposed to return the result of get_super(bdev)
    _unconditionally_. Moreover, in its current form freeze_bdev() _cannot_
    _fail_, so I don't see how this change doesn't break any existing code.

    For example freeze_filesystems() (recently added to -mm) will be broken
    if the down_trylock() is unsuccessful.

    Greetings,
    Rafael


    --
    You never change things by fighting the existing reality.
    R. Buckminster Fuller
    -
    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: 2006-11-08 00:11    [W:4.218 / U:0.592 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site