On Thu, Sep 24, 2009 at 2:22 PM, FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote: > CC'ed stgt@xxxxxxxxxxxxxxx and Ronnie Sahlberg, > > On Wed, 23 Sep 2009 21:39:24 -0400 > "Matthias Bannach" <matthias@xxxxxxxxxxx> wrote: > >> In an attempt to change from iscsitarget on debian to tgt I wanted to report >> some success and frustration to you. >> >> Success: Compiled smooth on Debian Lenny. > > Nice, our iSCSI code is just an user-space program so you can compile > and run it easily. > > >> Frustration: The dvd/cd iso feature appears to work with 'simple' CD's only. >> More advanced UDF or multi-session CDs (like recent Distributions of >> Microsoft OS/Development tools) appear to not be supported. > > I'm not familiar with this area so I CC'ed Ronnie Sahlberg, who wrote > that part. > That is true. The current implementation only emulates single-session disks. It does support writeable single-session disks, i.e. that you can "burn" one of these DVD's but I never implemented multi-session. > BTW, you can't do that even with IET, right? That is true. IET only supported single-session disks as well. I.e. plain ISO images. > > >> Any hints or pointers? >> >> Would you see an integration (could be done by me) with >> http://cdemu.sourceforge.net/ possible - can this be done without >> development? > > I don't think that you can't without development but it should be easy > incorporate cdemu-deamon code into our mmc.c > I had a look at cdemu and it seems a very nice project! This code is in some ways much more capable than the mode in mmc.c but less capable in other ways. Looking at cdemu-device.c it appears while the CDBs for WRITE10 is defined, this command is actually not implemented. Nor are synchronize-cache, reserve-track or close-track, commands required for emulating a writeable dvd. So there are differences in functionality. mmc.c : is single-session only, and handles ISO image files only, but it does support burning to a "emulated" blank dvd. cdemu : supports multi-session and a whole set of additional fileformats in addition to ISO but it is read-only and you can not "burn" to it. I do think it would be worth it to eventually replace mmc.c with cdemu but it would be nice to do so without losing functionality. I think it would be quite a lot of work but worthwhile 1, add emulation of writing to a dvd to cdemu. This is not that very hard, at least if you only aim to support to burning to single-session dvds. 2, should probably work with the cdemu people and break cdemud-device.c out into a separate link library that tgtd could link to. (maybe keep mmc.c still around as a last resort and use it if cdemud-device.a is not available?) 3, rework the public api in cdemud-device.c to remove exposing the glib/dbus dependencies and make the exposed api only use posix types. (I think one very attractive feature of the tgtd codebase is that it has so few dependencies on headers from other packages) 1 is only important if we want to keep the "tgtd can burn to emulated blank disks" feature. 2 would open up code sharing and reuse between cdemu and tgtd, and other projects that want to access a scsi mmc emulation library. 3 is only my personal view. I really like that tgtd does not depend on glib or other external packages. Just my opinions. Ronnie Sahlberg -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html