Re: Block device files and the page cache

From: Jens Axboe
Date: Wed Mar 17 2010 - 06:23:00 EST


On Tue, Mar 16 2010, Alan Stern wrote:
> Jens and Al:
>
> Simple testing seems to show that when a program closes a file
> descriptor for a block device file, the release method in the device
> driver's block_device_operations structure doesn't get called (and the
> close(2) system call doesn't return) until all the dirty pages for that
> device have been written out.
>
> Can anyone confirm that this always happens? Where in the kernel
> source is this handled?

Alan, see fs/block_dev.c:__blkdev_put(). The last put of the device will
sync the device before calling fops->release().

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/