Re: export bsg.h header to user-mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



FUJITA Tomonori wrote:
> On Thu, 15 Jan 2009 10:57:13 +0200
> Boaz Harrosh <bharrosh@xxxxxxxxxxx> wrote:
> 
>> I've tested and linux/bsg.h is perfect for user-mode consumption. It
>> has a few kernel declarations protected by ifdef __KERNEL__ and exactly
>> what you have above. I did not change anything
>>
>>> We don't install any files in include/scsi/* to userspace.
>>>
>>> fujita@viola:~/git/linux-2.6$ cat include/Kbuild
>>> # Top-level Makefile calls into asm-$(ARCH)
>>> # List only non-arch directories below
>>>
>>> header-y += asm-generic/
>>> header-y += linux/
>>> header-y += sound/
>>> header-y += mtd/
>>> header-y += rdma/
>>> header-y += video/
>>> header-y += drm/
>>>
>> But that's fine then since bsg.h is in <linux/bsg.h>
>> not <scsi/bsg.h> what is the problem?
> 
> Oops, somehow I placed bsg.h in include/scsi. Ignore the above my
> comments.
> 
> 
>> OK But you just explained how to do it patch below ...
>>
>>> I guess that SCSI header files for userspace
>>> (/usr/include/scsi/scsi.h, sg.h, etc) come from glibc (but I'm not
>>> sure). They are different from those in kernel.
>>>
>>>
>>>> Meanwhile I will manually copy it to /usr/include/linux/bsg.h and see
>>>> if I need to fix any thing so it can be compiled from user-mode.
>>>>
>>>> Also do you have a small libbsg or something to make it easier for
>>>> use by application? should we maintain such a package?
>>>>
>>>> Pete from the OSC osd project has his set of headers and library
>>>> which I used now. Should I clean it up and send it? Or should I just 
>>>> keep it as part of the osd project for now? what are the sas and fc
>>>> guys using?
>>> Doug copies bsg.h to his smp_utils. I do the same thing for my own bsg
>>> programs. We need glibc (or someone) to install bsg.h properly.
>> That is not acceptable for me since I will need to provide an open-osd-devel
>> package to distros and I might need bsg.h, which I cannot supply with my
>> package, what if someone else will need it too then we have a conflict.
>>
>> I'm sending a patch, please ACK?
>> Thanks
>> Boaz
> 
> As I wrote in the previous mail, exporting some of bsg stuff for
> userspace is necessary, I think. But I have no idea about the correct
> way to do it.
> 
> Seems the header files in /usr/include/linux/ are different from in
> kernel source code (pointless __KERNEL__ stuff are stripped):
> 
> fujita@viola:~$ diff git/linux-2.6/include/linux/xattr.h /usr/include/linux/xattr.h
> 16,19d15
> < #ifdef  __KERNEL__
> <
> < #include <linux/types.h>
> <
> 36,37d31
> < struct inode;
> < struct dentry;
> 49,53c43,45
> < ssize_t xattr_getsecurity(struct inode *, const char *, void *, size_t);
> < ssize_t vfs_getxattr(struct dentry *, const char *, void *, size_t);
> < ssize_t vfs_listxattr(struct dentry *d, char *list, size_t size);
> < int vfs_setxattr(struct dentry *, const char *, const void *, size_t, int);
> < int vfs_removexattr(struct dentry *, const char *);
> ---
>> ssize_t vfs_getxattr(struct dentry *, char *, void *, size_t);
>> int vfs_setxattr(struct dentry *, char *, void *, size_t, int);
>> int vfs_removexattr(struct dentry *, char *);
> 60,61d51
> < #endif  /*  __KERNEL__  */
> <
> 
> Your patch does the right thing?
> 

Yes I just checked, the Kernel build system strips out the #ifdef __KERNEL__ sections
for the exported headers. (Do "make headers_check" you can see at usr/include/linux/)

> 
>> ---
>> From: Boaz Harrosh <bharrosh@xxxxxxxxxxx>
>> Date: Thu, 15 Jan 2009 10:43:17 +0200
>> Subject: [PATCH] include/linux: Add bsg.h to the Kernel exported headers
>>
>> bsg.h in current form is perfectly suitable for user-mode
>> consumption. It is needed together with scsi/sg.h for applications
>> that want to interface with the bsg driver.
>>
>> Currently the few projects that use it would copy it over into
>> the projects. But that is not acceptable for projects that need
>> to provide a libxxx-devel package for distros.
>>
>> Signed-off-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx>

TOMO Please ACK here so Jens can push it through his tree.
Also I think we want to:
CC: stable@xxxxxxxxxx

for 2.6.27.x and 2.6.28.x Because these where shipped with bsg
and there is no reason why not have it, lets say in Fedora10
or ubuntu 8.10.

>> ---
>>  include/linux/Kbuild |    1 +
>>  1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/include/linux/Kbuild b/include/linux/Kbuild
>> index 12e9a29..2124c06 100644
>> --- a/include/linux/Kbuild
>> +++ b/include/linux/Kbuild


Thanks
Boaz
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux