From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH 02/35] Btrfs multi-device code Date: Tue, 13 Jan 2009 09:52:55 -0800 Message-ID: <20090113095255.bc8f94b2.akpm@linux-foundation.org> References: <1231387045-27838-1-git-send-email-chris.mason@oracle.com> <1231387045-27838-3-git-send-email-chris.mason@oracle.com> <20090112222345.6474c79e.akpm@linux-foundation.org> <1231864576.29164.140.camel@think.oraclecorp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: torvalds@linux-foundation.org, linux-fsdevel@vger.kernel.org, Andy Whitcroft To: Chris Mason Return-path: Received: from smtp1.linux-foundation.org ([140.211.169.13]:33570 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752910AbZAMRxK (ORCPT ); Tue, 13 Jan 2009 12:53:10 -0500 In-Reply-To: <1231864576.29164.140.camel@think.oraclecorp.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Tue, 13 Jan 2009 11:36:16 -0500 Chris Mason wrote: > > > + bdev = open_bdev_exclusive(device_path, 0, root->fs_info->bdev_holder); > > > + if (!bdev) > > > + return -EIO; > > > + > > > + if (root->fs_info->fs_devices->seeding) { > > > + seeding_dev = 1; > > > + down_write(&sb->s_umount); > > > + mutex_lock(&uuid_mutex); > > > + } > > > + > > > + filemap_write_and_wait(bdev->bd_inode->i_mapping); > > > > I'm surprised that this can be safely done under ->s_umount. > > btrfs_init_new_device is only called by the add_dev ioctl. That doesn't > happen with s_umount held. Or do you mean we should be taking s_umount? I'm surprised that filemap_write_and_wait() can safely be called under sb->s_umount. But I guess filemap_write_and_wait() doesn't take many locks, even though it waits a lot.