• Jiri Kosina's avatar
    floppy: remove floppy-specific O_EXCL handling · bfa10b8c
    Jiri Kosina authored
    Block layer now handles O_EXCL in a generic way for block devices.
    
    The semantics is however different for floppy and all other block devices,
    as floppy driver contains its own O_EXCL handling.
    
    The semantics for all-but-floppy bdevs is "there can be at most one O_EXCL
    open of this file", while for floppy bdev the semantics is "if someone has
    the bdev open with O_EXCL, noone else can open it".
    
    There is actual userspace-observable change in behavior because of this
    since commit e525fd89 ("block: make blkdev_get/put() handle exclusive
    access") -- on kernels containing this commit, mount of /dev/fd0 causes
    the fd0 block device be claimed with _EXCL, preventing subsequent
    open(/dev/fd0).
    
    Bring things back into shape, i.e.  make it possible, analogically to
    other block devices, to mount the floppy and open() it afterwards --
    remove the floppy-specific handling and let the generic bdev code O_EXCL
    handling take over.
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    Acked-by: default avatarTejun Heo <tj@kernel.org>
    Acked-by: default avatarNeilBrown <neilb@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    bfa10b8c
floppy.c 117 KB