[SCSI] osduld: use filp_open() when looking up an osd-device
authorBoaz Harrosh <bharrosh@panasas.com>
Sun, 24 May 2009 17:05:05 +0000 (20:05 +0300)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Wed, 10 Jun 2009 14:00:25 +0000 (09:00 -0500)
commit021e2230d6c04d80289fceb2d21c9ce93a615b32
treef8a4eeb7be9aa2ea65bf343680893e30d02ead92
parentfc2fac5b5f11e2bee3bf37215c8746236f5ea188
[SCSI] osduld: use filp_open() when looking up an osd-device

This patch was inspired by Al Viro, for simplifying and fixing the
retrieval of osd-devices by in-kernel users, eg: file systems.
In-Kernel users, now, go through the same path user-mode does by
opening a file on the osd char-device and though holding a reference
to both the device and the Module.

A file pointer was added to the osd_dev structure which is now
allocated for each user. The internal osd_dev is no longer exposed
outside of the uld. I wanted to do that for a long time so each
libosd user can have his own defaults on the device.

The API is left the same, so user code need not change.

It is no longer needed to open/close a file handle on the osd
char-device from user-mode, before mounting an exofs on it.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
CC: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/osd/osd_uld.c
include/scsi/osd_initiator.h