On Tuesday, 3 July 2007 22:19, Miklos Szeredi wrote: > > > Well, but you did remove sys_sync() from the freezer, which is > > > and must be called in the hibernate path. > > > > That's not really true. We _want_ to call sys_sync() in both the > > hibernate and suspend paths (in case the batteries run down), to help > > avoid filesystem problems if something goes wrong with the resume. But > > it isn't a hard requirement. > > > > > > I'm not sure why this can't be made atomic, but assuming, that it > > > > can't, fuse should still not need to be implicated. If it is, that's > > > > an indication about something wrong in the suspend procedure. > > > > > > Nope, something's wrong in fuse. You must be able to deal with sync > > > until every task is frozen. > > > > That's ridiculous. FUSE itself runs partially as a user task. How can > > you expect it to carry out a sync or anything else when it is frozen? > > > > I suppose you could "deal" with it by having the kernel portion return > > an error if the userspace part is frozen. If the hibernate/suspend > > code bothered to check the return value, it would immediately abort > > the suspend.
Er, do_sync() doesn't return a result. > I strongly believe, that we don't want to deal with it. If we want to > call sync(), do it while the system is fully operational. It's a best > effort thing anyway, and you can loose data in other ways if resume > fails. The requirement of syncing when the system (including the user space) is fully operational is FUSE-specific. Thus we'd rather like to sync FUSE filesystems before freezing the user space and freeze the other filesystems after freezing the user space. Greetings, Rafael -- "Premature optimization is the root of all evil." - Donald Knuth - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/