On Fri, Mar 23, 2012 at 4:32 PM, Mike Snitzer <snitzer@xxxxxxxxxx> wrote: > 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? I have experimented with integrity protection. Thanks. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel