Re: [RFC][PATCH] fs: configfs: programmatically create config groups

From: Sebastian Andrzej Siewior
Date: Mon Nov 26 2012 - 12:57:55 EST


On 11/26/2012 05:56 PM, Michal Nazarewicz wrote:
On 11/26/2012 09:35 AM, Andrzej Pietrasiewicz wrote:
In some parts of the kernel (e.g. planned configfs integration into usb
gadget) there is a need to programmatically create config groups
(directories) but it would be preferable to disallow creating them by
the user. This is more or less what default_groups used to be for.
But e.g. in the mass storage gadget, after storing the number of
luns (logical units) into some configfs attribute, the corresponding lun#
directories should be created, their number is not known up front so
default_groups are no good for this.

Example:

$ echo 3> /cfg/..../mass_storage/luns

causes

/cfg/....../mass_storage/lun0
/cfg/....../mass_storage/lun1
/cfg/....../mass_storage/lun2

On Mon, Nov 26 2012, Sebastian Andrzej Siewior wrote:
I though we did not want the luns file but instead use

mkdir /cfg/....../mass_storage/lun0
mkdir /cfg/....../mass_storage/lun1

directly.

I think that's suboptimal, and we can do better. There are too many
corner cases (ie. what if user does âmkdir lun7â without the previous
luns?), it adds complexity to the kernel (ie. parsing of the name), and
the thing is overly complicated for user (âecho 5> nlunsâ is much nicer
than having to create 5 directories).

Wouldn't say that. It may adds complexity on another level. The target
subsystem has the same problem with adding luns and there seems nothing
wrong with having lun3 and 4 and leaving 0 and 1 unsued.
With the tcm gadget I get:

|scsi 0:0:0:2: Direct-Access LIO-ORG RAMDISK-MCP 4.0 PQ: 0 ANSI: 5
|scsi 0:0:0:3: Direct-Access LIO-ORG FILEIO 4.0 PQ: 0 ANSI: 5

You notice :2 and :3 instead :0 and :1. While should be there something
wrong with this?

Sebastian
--
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/