On Fri, Mar 23 2012 at 10:29am -0400, Kasatkin, Dmitry <dmitry.kasatkin@xxxxxxxxx> wrote: > On Fri, Mar 23, 2012 at 4:21 PM, Mike Snitzer <snitzer@xxxxxxxxxx> wrote: > > On Fri, Mar 23 2012 at 10:12am -0400, > > Kasatkin, Dmitry <dmitry.kasatkin@xxxxxxxxx> wrote: > > > >> On Fri, Mar 23, 2012 at 1:26 PM, Kasatkin, Dmitry > >> <dmitry.kasatkin@xxxxxxxxx> wrote: > >> > On Fri, Mar 23, 2012 at 1:10 PM, Zdenek Kabelac <zkabelac@xxxxxxxxxx> wrote: > >> >> Dne 23.3.2012 12:01, Kasatkin, Dmitry napsal(a): > >> >>> Hello, > >> >>> > >> >>> When using dm-bufio and dm-io in general, how to ensure that all dirty > >> >>> buffers are written to the storage when machine reboots? > >> >>> suspend hooks could be used, but they are not called on reboot, only > >> >>> when suspending/removing the target... > >> >>> > >> >> > >> >> You mean you reboot without running 'sync' command? > >> >> > >> >> And yes - on reboot you should properly unmount devices - so you should > >> >> see removal of target on your shutdown sequence - I believe Fedora currently > >> >> tries to support switch to some shutdown ramdisk, so all filesystem and > >> >> devices might be properly unmounted and destroyed. > >> >> > >> > > >> > Hello, > >> > > >> > Thanks for response. > >> > I use bufio to store some data on block device. > >> > It is not mounted in anyway. My target just use it to load/store data. > >> > When machine reboots, I want to be sure that bufio written all dirty buffers... > >> > > >> > - Dmitry > >> > > >> > >> At the moment, I have reboot notifier which does the following > >> > >> dm_bufio_write_dirty_buffers(d->bufio); > >> sync_blockdev(d->dev->bdev); > >> blkdev_issue_flush(d->dev->bdev, GFP_KERNEL, NULL); > >> > >> without first line on the next boot I got corrupted/not updated blocks. > >> and I am not sure if I need last 2 lines... > > > > Are you cleanly removing the target from the kernel before reboot > > (e.g. dmsetup remove devname)? > > > > As long as your target's .dtr is making sure to flush all outstanding IO > > (like your reboot notifier does) you should be fine. > > > > The target contains rootfs... On reboot, it is remounted read-only. > I cannot remove it... > > Sometime ago I had "message" operation "sync", to sync backing devices. > But reboot notifier looks nice... It is automatically called. OK. As an aside, just curious: what does your target do? -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel