On Fr, 13.10.17 01:01, Akira Hayakawa (ruby.w...@gmail.com) wrote: > I have a device /dev/sdb1 and let's trace the block request by blktrace > > $ sudo blktrace -d /dev/sdb1 > > When I write 4KB using dd > $ sudo dd if=/dev/zero of=/dev/sdb1 oflag=direct bs=4k count=1 > > The block trace (after blkparsed) is write request as expected > 8,17 2 2 0.000003171 5930 Q WS 2048 + 8 [dd] > > followed by a unexpected read from systemd-udevd > 8,17 7 2 0.001755563 5931 Q R 2048 + 8 [systemd-udevd] > > My first question is what is: this read request? > > And I want to stop the read request because it makes it difficult to test > kernel code. > So the second question is: how can I stop the read request?
If you want exclusive access to a block device and don't want udev to step in, then simply take a BSD file lock on it (i.e. flock(2)), and udev won't probe it. This is not particularly well documented (one could say: not at all), but it's the official way really, and very UNIXish I'd claim. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel