IoBuildSynchronousFsdRequest

Hello, do you know something about the function IoBuildSynchronousFsdRequest.
I didn’t know, if it reads from the cache or directly from the disk…
If you have suggestions, please respond.

Best
Mark

mark,
IoBuildSynchronousFsdRequest(…) is just used to create an IRP to be used subsequently for various purposes, one purpose being to READ a file using IRP_MJ_READ, which i think is what you are interested in. In that case, whether FSD reads from cache or not depends on the characteristics of the fileobject you will assign to
IRP->FileObject . In other words, it depends on how this file object was created in the first place, maybe with ZwCreateFile(…CACHE_INFLUENCING_PARAMETERS_1, 2…)

Also you can influence the read for this particular IRP by setting suitable values for IRP->Flags. one such value being for e.g flags = IRP_NOCACHE

hope this explains a bit
regds
alexander suresh

----- Original Message -----
From: Mark Twain
To: File Systems Developers
Sent: Tuesday, June 13, 2000 10:39 AM
Subject: [ntfsd] IoBuildSynchronousFsdRequest

Hello, do you know something about the function IoBuildSynchronousFsdRequest.
I didn’t know, if it reads from the cache or directly from the disk…
If you have suggestions, please respond.

Best
Mark

I think it builds an IRP without IRP_NOCACHE and thus the request will
be satisfied from the cache. If you want to request non-cached access, you
have to set the IRP_NOCACHE flag in returned Irp->Flags yourself.

Paul

-----P?vodn? zpr?va-----
Od: Mark Twain [SMTP:xxxxx@crosswinds.net]
Odesl?no: 13. ?ervna 2000 16:40
Komu: File Systems Developers
P?edm?t: [ntfsd] IoBuildSynchronousFsdRequest

Hello, do you know something about the function
IoBuildSynchronousFsdRequest.
I didn’t know, if it reads from the cache or directly from the disk…
If you have suggestions, please respond.

Best
Mark

That does not matter, you can set irp flags to IRP_NOCACHE if you dont want
the file operations being cached. This flag is not set by
IoBuildSynchronousFsdRequest
so to prevent cache you must set IRP_NOCACHE flag after calling
IoBuildSynchronousFsdRequest.

-----Original Message-----
From: Mark Twain
Sent: martes 13 de junio de 2000 16:40
To: File Systems Developers
Subject: [ntfsd] IoBuildSynchronousFsdRequest

Hello, do you know something about the function
IoBuildSynchronousFsdRequest.
I didn’t know, if it reads from the cache or directly from the disk…
If you have suggestions, please respond.

Best
Mark

Thanks for the reply.
I have just one question.
Where can I find these parameters “(…CACHE_INFLUENCING_PARAMETERS_1, 2…)”?
Are they members of the IRP->FLAGS???

Best:
Mark
----- Original Message -----
From: Alexander Suresh
To: File Systems Developers
Sent: Tuesday, June 13, 2000 4:25 PM
Subject: [ntfsd] Re: IoBuildSynchronousFsdRequest

mark,
IoBuildSynchronousFsdRequest(…) is just used to create an IRP to be used subsequently for various purposes, one purpose being to READ a file using IRP_MJ_READ, which i think is what you are interested in. In that case, whether FSD reads from cache or not depends on the characteristics of the fileobject you will assign to
IRP->FileObject . In other words, it depends on how this file object was created in the first place, maybe with ZwCreateFile(…CACHE_INFLUENCING_PARAMETERS_1, 2…)

Also you can influence the read for this particular IRP by setting suitable values for IRP->Flags. one such value being for e.g flags = IRP_NOCACHE

hope this explains a bit
regds
alexander suresh

----- Original Message -----
From: Mark Twain
To: File Systems Developers
Sent: Tuesday, June 13, 2000 10:39 AM
Subject: [ntfsd] IoBuildSynchronousFsdRequest

Hello, do you know something about the function IoBuildSynchronousFsdRequest.
I didn’t know, if it reads from the cache or directly from the disk…
If you have suggestions, please respond.

Best
Mark

mark,
They are parameters for ZwCreateFile(…) system API. see the DDK documentation. IRP->Flags values doesnt have one-to-one correspondence with these ZwCreateFile(…) parameters.

alex

----- Original Message -----
From: Mark Twain
To: File Systems Developers
Sent: Tuesday, June 13, 2000 11:36 AM
Subject: [ntfsd] Re: IoBuildSynchronousFsdRequest

Thanks for the reply.
I have just one question.
Where can I find these parameters “(…CACHE_INFLUENCING_PARAMETERS_1, 2…)”?
Are they members of the IRP->FLAGS???

Best:
Mark
----- Original Message -----
From: Alexander Suresh
To: File Systems Developers
Sent: Tuesday, June 13, 2000 4:25 PM
Subject: [ntfsd] Re: IoBuildSynchronousFsdRequest

mark,
IoBuildSynchronousFsdRequest(…) is just used to create an IRP to be used subsequently for various purposes, one purpose being to READ a file using IRP_MJ_READ, which i think is what you are interested in. In that case, whether FSD reads from cache or not depends on the characteristics of the fileobject you will assign to
IRP->FileObject . In other words, it depends on how this file object was created in the first place, maybe with ZwCreateFile(…CACHE_INFLUENCING_PARAMETERS_1, 2…)

Also you can influence the read for this particular IRP by setting suitable values for IRP->Flags. one such value being for e.g flags = IRP_NOCACHE

hope this explains a bit
regds
alexander suresh

----- Original Message -----
From: Mark Twain
To: File Systems Developers
Sent: Tuesday, June 13, 2000 10:39 AM
Subject: [ntfsd] IoBuildSynchronousFsdRequest

Hello, do you know something about the function IoBuildSynchronousFsdRequest.
I didn’t know, if it reads from the cache or directly from the disk…
If you have suggestions, please respond.

Best
Mark

>Hello, do you know something about the function

IoBuildSynchronousFsdRequest.

It allocates the IRP and queues it to the calling thread. This IRP must be
completed by passing it to the IopCompleteRequest - this is done by
returning STATUS_SUCCESS from the completion routine.
Explicit IoFreeIrp on such an IRP is a crash. Use IoAllocateIrp instead if
you
want to use IoFreeIrp.
To wait for this IRP to complete, wait on the event you specified to
IoBuildSynchronousFsdRequest - this will be Irp->UserEvent and will be
signaled in IopCompleteRequest.

I didn’t know, if it reads from the cache or directly from the disk…

This is a bit invalid question. “Cache or disk” decision is done by the FSD
on
the basis of the IRP and file object flags. So, the answer is - it depends
on
other issues, not on the fact the IRP was allocated using
IoBuildSynchronousFsdRequest

Max

mark,
IoBuildSynchronousFsdRequest(…) is just used to create an IRP to be used subsequently for various purposes, one purpose being to READ a file using IRP_MJ_READ, which i think is what you are interested in. In that case, whether FSD reads from cache or not depends on the characteristics of the fileobject you will assign to
IRP->FileObject . In other words, it depends on how this file object was created in the first place, maybe with ZwCreateFile(…CACHE_INFLUENCING_PARAMETERS_1, 2…)

Also you can influence the read for this particular IRP by setting suitable values for IRP->Flags. one such value being for e.g flags = IRP_NOCACHE

hope this explains a bit
regds
alexander suresh

----- Original Message -----
From: Mark Twain
To: File Systems Developers
Sent: Tuesday, June 13, 2000 10:39 AM
Subject: [ntfsd] IoBuildSynchronousFsdRequest

Hello, do you know something about the function IoBuildSynchronousFsdRequest.
I didn’t know, if it reads from the cache or directly from the disk…
If you have suggestions, please respond.

Best
Mark

If you OR in IRP_NO_CACHE, the read will not come from the cache.

Jamey

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Alexander Suresh
Sent: Tuesday, June 13, 2000 7:25 AM
To: File Systems Developers
Subject: [ntfsd] Re: IoBuildSynchronousFsdRequest

mark,
IoBuildSynchronousFsdRequest(…) is just used to create an IRP to be
used subsequently for various purposes, one purpose being to READ a file
using IRP_MJ_READ, which i think is what you are interested in. In that
case, whether FSD reads from cache or not depends on the characteristics of
the fileobject you will assign to
IRP->FileObject . In other words, it depends on how this file object was
created in the first place, maybe with
ZwCreateFile(…CACHE_INFLUENCING_PARAMETERS_1, 2…)

Also you can influence the read for this particular IRP by setting
suitable values for IRP->Flags. one such value being for e.g flags =
IRP_NOCACHE

hope this explains a bit
regds
alexander suresh

----- Original Message -----
From: Mark Twain
To: File Systems Developers
Sent: Tuesday, June 13, 2000 10:39 AM
Subject: [ntfsd] IoBuildSynchronousFsdRequest

Hello, do you know something about the function
IoBuildSynchronousFsdRequest.
I didn’t know, if it reads from the cache or directly from the disk…
If you have suggestions, please respond.

Best
Mark

mark,
They are parameters for ZwCreateFile(…) system API. see the DDK documentation. IRP->Flags values doesnt have one-to-one correspondence with these ZwCreateFile(…) parameters.

alex

----- Original Message -----
From: Mark Twain
To: File Systems Developers
Sent: Tuesday, June 13, 2000 11:36 AM
Subject: [ntfsd] Re: IoBuildSynchronousFsdRequest

Thanks for the reply.
I have just one question.
Where can I find these parameters “(…CACHE_INFLUENCING_PARAMETERS_1, 2…)”?
Are they members of the IRP->FLAGS???

Best:
Mark
----- Original Message -----
From: Alexander Suresh
To: File Systems Developers
Sent: Tuesday, June 13, 2000 4:25 PM
Subject: [ntfsd] Re: IoBuildSynchronousFsdRequest

mark,
IoBuildSynchronousFsdRequest(…) is just used to create an IRP to be used subsequently for various purposes, one purpose being to READ a file using IRP_MJ_READ, which i think is what you are interested in. In that case, whether FSD reads from cache or not depends on the characteristics of the fileobject you will assign to
IRP->FileObject . In other words, it depends on how this file object was created in the first place, maybe with ZwCreateFile(…CACHE_INFLUENCING_PARAMETERS_1, 2…)

Also you can influence the read for this particular IRP by setting suitable values for IRP->Flags. one such value being for e.g flags = IRP_NOCACHE

hope this explains a bit
regds
alexander suresh

----- Original Message -----
From: Mark Twain
To: File Systems Developers
Sent: Tuesday, June 13, 2000 10:39 AM
Subject: [ntfsd] IoBuildSynchronousFsdRequest

Hello, do you know something about the function IoBuildSynchronousFsdRequest.
I didn’t know, if it reads from the cache or directly from the disk…
If you have suggestions, please respond.

Best
Mark