A simple SAN - Design issue

Hi All,

I have task in hand where I need to retrieve the content of hard disk over the network. A simple kind of SAN. Right now the focus will be just on functionality and can be restricted to only simple file.

So the design I have thought of is :

I will write a file system filter driver where in I can capture the buffer and then transfer the buffer to other system via TDI driver…(over network)…

This is just one line design and I need to start with reading and understanding File System Filter and TDI driver…

But just want to be sure that I am moving on right direction or there are some roadblocks which experienced people out here can visualize… Also , I would request you to please suggest if any alternative approach is there…

Please help…

Thanks
Anshul Makkar
www.justkernel.com
http://www.linkedin.com/groups/Just-Kernel-3033180

I think your problem is still not clear.

What you are saying here is whether you can write a fs filter and transfer
certain buffers over the network or not.
You can certainly do that. But which buffers?

Moreover why you want to use TDI (it is deprecated in newer versions) and
moreover you can pass the stuff to user mode service and it can perform
network transfer.

On top of it, I don’t understand how does SAN comes in way of your design.
SAN would be way below your filter layer and your filter should be agnostic
to it.

-Deepak

On Sun, Jun 12, 2011 at 6:37 PM, anshul makkar > wrote:

> Hi All,
>
> I have task in hand where I need to retrieve the content of hard disk over
> the network. A simple kind of SAN. Right now the focus will be just on
> functionality and can be restricted to only simple file.
>
> So the design I have thought of is :
>
> I will write a file system filter driver where in I can capture the buffer
> and then transfer the buffer to other system via TDI driver…(over
> network)…
>
> This is just one line design and I need to start with reading and
> understanding File System Filter and TDI driver…
>
> But just want to be sure that I am moving on right direction or there are
> some roadblocks which experienced people out here can visualize… Also , I
> would request you to please suggest if any alternative approach is there…
>
> Please help…
>
> Thanks
> Anshul Makkar
> www.justkernel.com
> http://www.linkedin.com/groups/Just-Kernel-3033180
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

anshul makkar wrote:

Hi All,

I have task in hand where I need to retrieve the content of hard disk
over the network. A simple kind of SAN.

You need to be much more precise about what you are trying to achieve.
The obvious way to do what you describe is to just set up a simple SAN -
have whatever is at the other side of the network run an iSCSI or Fibre
Channel target driver and use a normal iSCSI or FC initiator to access
the disk from this side. Since you’re going about it in an entirely
different way, I suspect that what you need to achieve is nothing at all
like a SAN.

iSCSI client is embedded to Windows, and there are open source iSCSI servers.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

“anshul makkar” wrote in message news:xxxxx@ntdev…
Hi All,

I have task in hand where I need to retrieve the content of hard disk over the network. A simple kind of SAN. Right now the focus will be just on functionality and can be restricted to only simple file.

So the design I have thought of is :

I will write a file system filter driver where in I can capture the buffer and then transfer the buffer to other system via TDI driver…(over network)…

This is just one line design and I need to start with reading and understanding File System Filter and TDI driver…

But just want to be sure that I am moving on right direction or there are some roadblocks which experienced people out here can visualize… Also , I would request you to please suggest if any alternative approach is there…

Please help…

Thanks
Anshul Makkar
www.justkernel.com
http://www.linkedin.com/groups/Just-Kernel-3033180

>I have task in hand where I need to retrieve the content of hard disk over the network. A simple kind of SAN.

Do you need to access filesystem on the other disk, or the disk block-wise?

If second - then this has nothing to do with FSFs, you need to write a virtual storage port driver on top of networking stack, and MS have already provided you with it (iSCSI) in post-XP OSes.

And, if first, then again you do not need any FSF, but the full redirector.

TDI is deprecated in favor of WSK, but, given that 90% of the changes are just plain coding typing patterns (virtual method call in WSK and TdiBuildXxx+IoCallDriver for TDI) and not the logic, you can write a generic wrapper around both TDI or WSK, or WSK wrapper around pre-Vista TDI.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

Hi Thanks for the replies…

I have read quite frequently on the mailing list that if you want to encrypt the content of the file then it can be done through file system filter…
So it implies I have access to content on the disk. Now I want to transfer this content to other PC over the network using NDIS driver (if TDI is deprecated) . Yes this is not SAN.

This is just a learning exercise for me. I hope it will help me to understand file system filter and NDIS driver . I want to get the basics of them before picking up my next task.

If you can suggest some better application that will help me get into file system and Network driver, then please suggest. You people have much wider experience then me, so request you all to please suggest.

Thanks
Anshul Makkar
www.justkernel.com

— On Mon, 13/6/11, Maxim S. Shatskih wrote:

> From: Maxim S. Shatskih
> Subject: Re:[ntdev] A simple SAN - Design issue
> To: “Windows System Software Devs Interest List”
> Date: Monday, 13 June, 2011, 4:09 PM
> >I have task in hand where I need
> to retrieve the content of hard disk over the network. A
> simple kind of SAN.
>
> Do you need to access filesystem on the other disk, or
> the disk block-wise?
>
> If second - then this has nothing to do with FSFs, you need
> to write a virtual storage port driver on top of networking
> stack, and MS have already provided you with it (iSCSI) in
> post-XP OSes.
>
> And, if first, then again you do not need any FSF, but the
> full redirector.
>
> TDI is deprecated in favor of WSK, but, given that 90% of
> the changes are just plain coding typing patterns (virtual
> method call in WSK and TdiBuildXxx+IoCallDriver for TDI) and
> not the logic, you can write a generic wrapper around both
> TDI or WSK, or WSK wrapper around pre-Vista TDI.
>
> –
> Maxim S. Shatskih
> Windows DDK MVP
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars
> visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online
> at http://www.osronline.com/page.cfm?name=ListServer
>

On Mon, Jun 13, 2011 at 1:02 PM, anshul makkar
wrote:
> Now I want to transfer this content to other PC over the network using NDIS driver (if TDI is deprecated)

Creating NDIS/Network driver won’t give you anything useful here. NDIS
drivers are usually used for filtering network stacks or for
controlling real hardware. In your case you just want to use
underlying network stack to send some data. So you can either use
Windows Kernel Sockets(WSK) which is somehow similar to user mode
Windows Sockets or write TDI kernel mode client if you’re are
targeting pre-Vista OSes.

Kris

>This is just a learning exercise for me. I hope it will help me to understand file system filter and >NDIS driver . I want to get the basics of them before picking up my next task.

If you are going to transfer data across network by using NDIS you would be limited only in a local network. Otherwise, you would need to implement IP and UDP or TCP protocols in your NDIS driver. Try to use either TDI or WSK. TDI is still supported in Windows 7 and 2008RT2.

Igor Sharovar