Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Device-mapper Development (http://www.linux-archive.org/device-mapper-development/)
-   -   blockdev --flushbufs required [was: parted issue/question (http://www.linux-archive.org/device-mapper-development/622298-blockdev-flushbufs-required-parted-issue-question.html)

Zdenek Kabelac 01-18-2012 01:05 PM

blockdev --flushbufs required [was: parted issue/question
 
Dne 18.1.2012 14:44, Jim Meyering napsal(a):

[Following up on this thread:
http://thread.gmane.org/gmane.linux.kernel.device-mapper.devel/14999]

Alasdair G Kergon wrote:

Try
blkdev --flushbufs
after any cmd that writes to a dev to see if that makes any difference.


Thanks for the work-around.
Using "blockdev --flushbufs $dev" does indeed make parted
behave the same with dm-backed storage as with other devices.

Adjusting my small example,

cd /tmp; truncate -s 10m g&& loop=$(losetup --show -f g)
echo 0 100 linear $loop 0 | dmsetup create zub
dev=/dev/mapper/zub
parted -s $dev
mklabel gpt
mkpart efi 34s 34s
mkpart root 35s 35s
mkpart roo2 36s 36s
u s p
blockdev --flushbufs $dev # FIXME: required with device-mapper-1.02.65-5

# write random bits to p1
dd of=${dev}p1 if=/dev/urandom count=1
dd if=${dev}p1 of=p1-copy.pre count=1
parted -s $dev mkpart p4 37s 37s
blockdev --flushbufs $dev # FIXME: required with device-mapper-1.02.65-5

dd if=${dev}p1 of=p1-copy.post count=1
cmp -l p1-copy.pre p1-copy.post

With that, the "cmp" show no differences.

Does this sound like a problem in device-mapper land,
or in how parted interacts with DM?



Just my wild guess it could be related to wrong assumption that close of
descriptor means automatic flush - this is only true in the case, there is
only one user for descriptor so it would be the last user - but if e.g. the
device is opened more then once, then close doesn't mean flush - so I'd have
assume some application is missing fsync(fd) before doing close(fd).


Zdenek

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel


All times are GMT. The time now is 10:21 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.