On 2010-07-07 16:51, Arnd Bergmann wrote: > The open and release block_device_operations are currently > called with the BKL held. In order to change that, we must > first make sure that all drivers that currently rely > on this have no regressions. > > This blindly pushes the BKL into all .open and .release > operations for all block drivers to prepare for the > next step. The drivers can subsequently replace the BKL > with their own locks or remove it completely when it can > be shown that it is not needed. > > The functions blkdev_get and blkdev_put are the only > remaining users of the big kernel lock in the block > layer, besides a few uses in the ioctl code, none > of which need to serialize with blkdev_{get,put}. > > Most of these two functions is also under the protection > of bdev->bd_mutex, including the actual calls to > ->open and ->release, and the common code does not > access any global data structures that need the BKL. This is missing an smp_lock.h include in i2o as well. You seem to only add these sporadically, I think that is a bit unsafe since you are relying on unknown include hierarchies. That tends to break on one arch or config even if it works in another. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html