<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Apr 9, 2017 at 2:17 PM, Lennart Poettering <span dir="ltr"><<a href="mailto:lennart@poettering.net" target="_blank">lennart@poettering.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On Sun, 09.04.17 10:11, Michael Chapman (<a href="mailto:mike@very.puzzling.org">mike@very.puzzling.org</a>) wrote:<br>
<br>
> Don't forget, they've provided an interface for software to use if it needs<br>
> more than the guarantees provided by sync. Informally speaking, the FIFREEZE<br>
> ioctl is intended to place a filesystem into a "fully consistent" state, not<br>
> just a "fully recoverable" state. (Formally it's all a bit hazy: POSIX<br>
> really doesn't guarantee anything with sync.)<br>
<br>
</span>If FIFREEZE is a generic ioctl() supported by a number of different<br>
file systems I figure it would be much more OK with calling it.<br>
<br>
That said, are you sure FIFREEZE is really what we want there? it<br>
appears to also pause any further writes to disk (until FITHAW is<br>
called). Which isn't really what we are interested in here (note that<br>
we return back to the initrd after the umount spree and it shall be<br>
able to do the rest, and if it actually can do that, then the file<br>
systems should be able to unmount and that usually results in writes<br>
to disk...)<br>
<br>
So, I am still puzzled why the file system people think that "sync()"<br>
isn't supposed to actually sync things to disk... I mean, it appears<br>
the call is pretty much useless and it's traditional usage (which<br>
prominently is in sysvinit before reboot()) appears to be broken by<br>
their behaviour.<br>
<br>
Why bother with sync() at all, if it implies no guarantees? This is<br>
quite frankly bullshit...<br>
<br>
It appears to me that using /boot on a file system whith such broken<br>
sync() semantics is really not a safe thing to do, and people should<br>
probably only use something more reliable, i.e. ext2 or vfat where<br>
sync() actually works correctly...<br></blockquote><div><br></div><div>It does? My /boot is vfat due to UEFI requirements, and it becomes unbootable if you as much as sneeze near it – I've already had to repair it thrice, after a sync and everything.</div></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Mantas Mikulėnas <<a href="mailto:grawity@gmail.com" target="_blank">grawity@gmail.com</a>></div></div>
</div></div>