lkml.org 
[lkml]   [2003]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] 2 of 2 - Allow O_EXCL on a block device to claim exclusive use.
On Mon, Aug 11, 2003 at 12:35:57PM +1000, NeilBrown wrote:
> diff ./fs/block_dev.c~current~ ./fs/block_dev.c
> --- ./fs/block_dev.c~current~ 2003-08-11 09:01:38.000000000 +1000
> +++ ./fs/block_dev.c 2003-08-11 09:01:41.000000000 +1000
> @@ -643,6 +643,7 @@ int blkdev_get(struct block_device *bdev
> int blkdev_open(struct inode * inode, struct file * filp)
> {
> struct block_device *bdev;
> + int res;
>
> /*
> * Preserve backwards compatibility and allow large file access
> @@ -655,7 +656,18 @@ int blkdev_open(struct inode * inode, st
> bd_acquire(inode);
> bdev = inode->i_bdev;
>
> - return do_open(bdev, inode, filp);
> + res = do_open(bdev, inode, filp);
> + if (res)
> + return res;
> +
> + if (!(filp->f_flags & O_EXCL) )
> + return 0;
> +
> + if (!(res = bd_claim(bdev, filp)))
> + return 0;
> +
> + blkdev_put(bdev, BDEV_FILE);
> + return res;

Shouldn't you claim it before opening. Also what is the desired
behaviour when opening partitions vs whole device with O_EXCL?

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

\
 
 \ /
  Last update: 2005-03-22 13:47    [W:0.058 / U:0.404 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site