Re: [PATCH][RFC 5/23]: SCST /proc interface

From: Vladislav Bolkhovitin
Date: Fri Dec 12 2008 - 14:24:03 EST


Nicholas A. Bellinger wrote:
On Wed, 2008-12-10 at 21:37 +0300, Vladislav Bolkhovitin wrote:
This patch contains SCST the /proc interface.

A description of this interface can be found in the patch with the
SCST core documentation.

Since a procfs-based configuration interface is unacceptable for new kernel modules, in the next review iteration SCST's configuration interface will be replaced by a sysfs-based configuration interface. This patch is not intended to be included in the Linux kernel, but is posted here, because as of today this configuration interface is necessary when using SCST.

Unfortunately, configfs is not (yet) suited for configuring SCST. This is, because configfs is user space driven, so kernel can't create subdirectories on it, and all files on configfs are limited to 4K in size. It makes impossible for kernel to show, e.g., a list of connected initiators. Hence, with configfs it is necessary to have one more interface to show such data, e.g. sysfs-based.

Btw, please stop spreading FUD about ConfigFS. ConfigFS works great for
Target_Core_Mod and LIO-Target v3.0, and is what I have found as the
*BEST* foundation for generic target mod moving forward. This is not
based on a hypothetical discussion or on a long term TODO list, this has
been determined from actually writing the code, which is located at:

http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=blob;f=drivers/lio-core/target_core_configfs.c

http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=blob;f=drivers/lio-core/iscsi_target_configfs.c

So please, just because you don't want to acknowledge ConfigFS in your
own work, do not act like there is not already thounsands of lines of
ConfigFS code up and running for the generic target mode and LIO-Target.

Nicholas,

You have an *exceptional* ability don't see what you don't want to see. It has already happened with Persistent Reservations over pass-through backend (see the end of http://lkml.org/lkml/2008/7/10/328 and subsequent messages in this thread) and now this is happening with configfs. I already 2 times described you why configfs isn't appropriate for a SCSI target (the first time in http://lkml.org/lkml/2008/10/21/259), but you keep refusing to see it. In short:

1. Kernel can't create subdirectories in configfs

2. Sysfs doesn't allow files >4K

3. What you have been doing to live with the above limitations is implementing "access allowed only for explicitly specified initiators and forbidden for all others" security approach. This approach is unacceptable on practice. The majority of people simply define available devices for a target and don't bother with listing initiators, which allowed to connect to it. But you forces them to do that and keep doing again and again for each related network change.

In contrast, sysfs allows kernel to create subdirectories. It will allow to workaround the 4K limitation by a simple subdirectories hierarchy. So, both security approaches ("access allowed only for explicitly specified initiators and forbidden for all others" and "access forbidden only for explicitly specified initiators and allowed for all others") can be seamlessly implemented on sysfs as it is currently done on procfs in SCST.

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