Hello, On Mon 08-08-11 13:27:12, Toshiyuki Okajima wrote: > >On Wed 03-08-11 22:25:48, Toshiyuki Okajima wrote: > >>On Wed, 3 Aug 2011 11:57:54 +0200 > >>Jan Kara<jack@xxxxxxx> wrote: > >>>>To tell the truth, I think the race creates the message: > >>>>----------------------------------------------------------------------- > >>>> EXT3-fs:<dev>: couldn't remount RDWR because of > >>>> unprocessed orphan inode list. Please umount/remount instead. > >>>>----------------------------------------------------------------------- > >>>>which hides a serious problem. > >>> I've inquired about this at linux-fsdevel (I think you were in CC unless > >>>I forgot). It's a race in VFS remount code as you properly analyzed below. > >>>People are working on fixing it but it's not trivial. Filesystem is really > >>>a wrong place to fix such problem. If there is a trivial fix for ext3 to > >>>workaround the issue, I can take it but I'm not willing to push anything > >>>complex - effort should better be spent working on a generic fix. > >>I also think read-only remount race in VFS layer should be fixed. > >>However, I think this race depends on ext3/ext4 filesystem > >>implementation. (Orphan inode list) > >>So, we should modify ext3/ext4(jbd/jbd2) to fix it. > > > Umm, I don't understand here. If VFS makes sure that there are no > > After I saw the following messages, I thought we must fix EXT3-fs error > at first. So, I created the fix patch. > > (1) kernel: EXT3-fs: <dev>: couldn't remount RDWR because of > unprocessed orphan inode list. Please umount/remount instead. > (2) kernel: EXT3-fs error (device <dev>) in start_transaction: Readonly filesystem > > I wasn't aware that by fixing the race between "ro-remount" and "unlink", > that EXT3-fs error can be also fixed then. > > >files open for writing, no unfinished operations changing the filesystem (e.g. > >unlink), and no open-but-unlinked files, what remains for ext3 to check? > OK. > Now, I also think we need not modify ext3 to fix these problems. > If we can prevent to add an inode into the orphan list (to start unlinking) > while ro-remounting, we can also prevent (1) and (2). > > However, new mechanism to confirm whether "no open-but-unlinked" files > exist while ro-remounting is required, isn't it? Yes. Actually, VFS already tracks open-but-unlinked files but the check & remount pair is not atomic so that needs to be fixed and it is not that simple. Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html