Doron
Mon Mar 06 22:24:28 CST 2006
filesystems in *nix are the way many drivers expose data. that is not the
case in NT. you are trying to fit a square peg in a round hole. YOu will
have a much easier time if you just follow the std way of exposing data.
d
--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.
"krzys" <krzys@discussions.microsoft.com> wrote in message
news:D102F454-5813-4613-8881-6C46CD80DB10@microsoft.com...
> Hmm, sounds discouraging... but thanks.
>
> Assuming I'd give it a shot, along the lines of the FAT-ripping option...
>
> How would I go about getting a fake volume that works only with my fake
> filesystem, and vice versa, have my filesystem used only for the fake
> volume
> I would create?
>
> Would I need to create a fake disk device? Or could I just tell the I/O
> manager to create a fake volume with a specific name and force it to use
> my
> filesystem driver? How would I prevent my fake filesystem to be applied to
> regular volumes?
>
> There seems to be this split beteen filesystems and devices, but what if
> all
> I want is a high-level entity that has folders and files, the semantics of
> which may have nothing to do with blocks and sectors, and thus I actually
> DON'T and CAN'T implement and expose anything that looks like a volume or
> a
> storage device?
>
> I'd like to somehow go around this rigid structure and only implement the
> "file-level functionality" for my storage-like-looking entity, with the
> minimum amount of placeholders and glue code to get things in place. Is
> this
> at all possible?
>
> In Linux, you can use filesystem interface for a variety of purposes. What
> I'm trying to achieve on Windows is quite similar. I want files, but not
> data
> blocks.
>
> Krzys
>
> "Don Burn" wrote:
>
>> It still is a filesystem, you are going to have to take the FAT sample
>> rip
>> out most of the guts, and then do it with your service. This is not a
>> small
>> project the smallest real filesystem I know of took almost 5 man years
>> and
>> some have gone of 100 man years.
>>
>> If you are not doing this for commercial work, the other possibility is
>> to
>> make it a "nerwork filesystem" by using the Samba sources to start your
>> efforts. This does mean your requests go through the network, even if
>> they
>> are to the same system, but you start with a solid piece of user space
>> code
>> to handle things.
>>
>>
>> --
>> Don Burn (MVP, Windows DDK)
>> Windows 2k/XP/2k3 Filesystem and Driver Consulting
>> Remove StopSpam from the email to reply
>>
>>
>>
>> "krzys" <krzys@discussions.microsoft.com> wrote in message
>> news:1BFBD192-BB14-4D38-926D-5B5254801C08@microsoft.com...
>> > Thank you for the response, but 2-4 man-years sounds absurd, I think
>> > that
>> > perhaps I wasn't clear enough on what I want to do.
>> >
>> > I don't want to implement an actual filesystem or disk driver, just
>> > forward
>> > a bunch of requests such as create file or read file to my user-level
>> > service. I don't want my fake filesystem to be used on "real" volumes
>> > or
>> > my
>> > fake volume to be used for "real" filesystems. I want a fake, virtual
>> > drive
>> > with a letter to pop up somewhere, that can accept open file and
>> > read/write
>> > file requests and delegate them to user space without doing any
>> > processing.
>> > The requests would actually be implemented in a way that has nothing to
>> > do
>> > with physical devices, drives, buses, and I don't think I have any need
>> > to
>> > mess with interrupts, cache, memory mapping and other low-level stuff.
>> > I
>> > understand that all it takes should be to get a bunch of hook-ups and
>> > wrappers in place.
>> >
>> > I looked at the IFS kit, but I still don't see what exactly kind of
>> > entity
>> > to write. A filesystem alone doesn't seem to be the right answer
>> > because,
>> > as
>> > I said, I don't want it to be used with "real" volumes, only with my
>> > own
>> > single "fake" volume.
>> >
>> >
>> > "Don Burn" wrote:
>> >> A filesystem requires the IFS kit. You should consider getting
>> >> training
>> >> from OSR
http://www.osr.com and expect to spend 1 to 2 calendar years
>> >> (and 2
>> >> to 3 X that in man-years) to do the work.
>> >
>>
>>
>>