Transaction Context

Hi All,

What can we say about the uniquness of the “transaction Context”
obtained from filter manager?

Is this value unique, or can I expect to see the same context in a
future transaction (in my minifilter driver)?

thanks.

-Kam

Well Transaction Context is somewhat under your control, so I a guessin you
mean the PKSTRANSACTION at FltObjects->Transaction. You should try !object
on some of these, well these are kernel objects. No doubt once the object is
deallocated, you’ll see that pool address used again sometime, maybe soon,
maybe not soon. When it’s used again, well, there might be another
transaction object there, or some other object - that should be the general
theory. If you’re thinking of using the value of FltObjects->Transaction as
a some sort of all time unique thing, well it’s best to think again. You
might, perhaps, be able to use a sequence number of observed lifecycles of
transaction objects.

“Kamran Tavakoli” wrote in message
news:xxxxx@ntfsd…
> Hi All,
>
> What can we say about the uniquness of the “transaction Context”
> obtained from filter manager?
>
> Is this value unique, or can I expect to see the same context in a
> future transaction (in my minifilter driver)?
>
> thanks.
>
> -Kam
>

The transaction context will be unique for the life of the given transaction it is associated with. You will not get the same context for a different transaction.

Neal Christiansen
Microsoft NTFS Development Lead
This posting is provided “AS IS” with no warranties, and confers no Rights

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Kamran Tavakoli
Sent: Tuesday, October 07, 2008 1:58 PM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] Transaction Context

Hi All,

What can we say about the uniquness of the “transaction Context”
obtained from filter manager?

Is this value unique, or can I expect to see the same context in a
future transaction (in my minifilter driver)?

thanks.

-Kam


NTFSD is sponsored by OSR

For our schedule debugging and file system seminars
(including our new fs mini-filter seminar) visit:
http://www.osr.com/seminars

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Hello Neil

I’m wondering if you say that at some time there is a live transaction T1
and we get transaction context at address X, then a bit later T1 completes,
it’s life is over, and then some time later some other transaction T2
starts - are you saying that we’ll never get the transaction context at
address X for T2?

Thanks,
Lyndon

“Neal Christiansen” wrote in message
news:xxxxx@ntfsd…
The transaction context will be unique for the life of the given transaction
it is associated with. You will not get the same context for a different
transaction.

Neal Christiansen
Microsoft NTFS Development Lead
This posting is provided “AS IS” with no warranties, and confers no Rights

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Kamran Tavakoli
Sent: Tuesday, October 07, 2008 1:58 PM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] Transaction Context

Hi All,

What can we say about the uniquness of the “transaction Context”
obtained from filter manager?

Is this value unique, or can I expect to see the same context in a
future transaction (in my minifilter driver)?

thanks.

-Kam


NTFSD is sponsored by OSR

For our schedule debugging and file system seminars
(including our new fs mini-filter seminar) visit:
http://www.osr.com/seminars

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Lyndon,

No I do not believe Neal is saying that.

What he is saying is that the filter manager’s transaction contexts
behave just like its other contexts. When T1 is over, you will get a
chance to tear down your transaction context with the function provided
at registration. When T2 comes along and you “allocate”, via the filter
manager, a new context to attach to T2, it is entirely possible that the
new transaction context will have the same address as a previously
released context. Consider for a moment the notion that the filter
manager is using a look aside list to increase the performance of
context allocation. I don’t know that it does, but it is not
unreasonable that it might at some future point if it doesn’t now. In
this case, it is likely that you will see the same context addresses
over and over again.

What I believe he is saying is that as long as T1 is active, you won’t
get its context pointer for T2. That would be an error in the filter
manager.

So far, this has been my experience with transaction contexts. I don’t
see the importance of the actual pointer value unless you are trying to
use that as some type of key or token. Am I misunderstanding your question?

Mark Spiegel

Lyndon J Clarke wrote:

Hello Neil

I’m wondering if you say that at some time there is a live transaction T1
and we get transaction context at address X, then a bit later T1 completes,
it’s life is over, and then some time later some other transaction T2
starts - are you saying that we’ll never get the transaction context at
address X for T2?

Thanks,
Lyndon

“Neal Christiansen” wrote in message
> news:xxxxx@ntfsd…
> The transaction context will be unique for the life of the given transaction
> it is associated with. You will not get the same context for a different
> transaction.
>
> Neal Christiansen
> Microsoft NTFS Development Lead
> This posting is provided “AS IS” with no warranties, and confers no Rights
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Kamran Tavakoli
> Sent: Tuesday, October 07, 2008 1:58 PM
> To: Windows File Systems Devs Interest List
> Subject: [ntfsd] Transaction Context
>
> Hi All,
>
> What can we say about the uniquness of the “transaction Context”
> obtained from filter manager?
>
> Is this value unique, or can I expect to see the same context in a
> future transaction (in my minifilter driver)?
>
> thanks.
>
> -Kam
>
> —
> NTFSD is sponsored by OSR
>
> For our schedule debugging and file system seminars
> (including our new fs mini-filter seminar) visit:
> http://www.osr.com/seminars
>
> You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>
> —
> NTFSD is sponsored by OSR
>
> For our schedule debugging and file system seminars
> (including our new fs mini-filter seminar) visit:
> http://www.osr.com/seminars
>
> You are currently subscribed to ntfsd as: xxxxx@vipmail.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>

Hi Mark

Yes, this has been our experience also - I was perhaps just being paranoid
:wink:

Cheers, Lyndon

“Mark Spiegel” wrote in message news:xxxxx@ntfsd…
> Lyndon,
>
> No I do not believe Neal is saying that.
> What he is saying is that the filter manager’s transaction contexts behave
> just like its other contexts. When T1 is over, you will get a chance to
> tear down your transaction context with the function provided at
> registration. When T2 comes along and you “allocate”, via the filter
> manager, a new context to attach to T2, it is entirely possible that the
> new transaction context will have the same address as a previously
> released context. Consider for a moment the notion that the filter
> manager is using a look aside list to increase the performance of context
> allocation. I don’t know that it does, but it is not unreasonable that it
> might at some future point if it doesn’t now. In this case, it is likely
> that you will see the same context addresses over and over again.
>
> What I believe he is saying is that as long as T1 is active, you won’t get
> its context pointer for T2. That would be an error in the filter manager.
>
> So far, this has been my experience with transaction contexts. I don’t
> see the importance of the actual pointer value unless you are trying to
> use that as some type of key or token. Am I misunderstanding your
> question?
>
> Mark Spiegel
>
> Lyndon J Clarke wrote:
>> Hello Neil
>>
>> I’m wondering if you say that at some time there is a live transaction T1
>> and we get transaction context at address X, then a bit later T1
>> completes, it’s life is over, and then some time later some other
>> transaction T2 starts - are you saying that we’ll never get the
>> transaction context at address X for T2?
>>
>> Thanks,
>> Lyndon
>>
>> “Neal Christiansen” wrote in message
>> news:xxxxx@ntfsd…
>> The transaction context will be unique for the life of the given
>> transaction it is associated with. You will not get the same context for
>> a different transaction.
>>
>> Neal Christiansen
>> Microsoft NTFS Development Lead
>> This posting is provided “AS IS” with no warranties, and confers no
>> Rights
>>
>> -----Original Message-----
>> From: xxxxx@lists.osr.com
>> [mailto:xxxxx@lists.osr.com] On Behalf Of Kamran Tavakoli
>> Sent: Tuesday, October 07, 2008 1:58 PM
>> To: Windows File Systems Devs Interest List
>> Subject: [ntfsd] Transaction Context
>>
>> Hi All,
>>
>> What can we say about the uniquness of the “transaction Context”
>> obtained from filter manager?
>>
>> Is this value unique, or can I expect to see the same context in a
>> future transaction (in my minifilter driver)?
>>
>> thanks.
>>
>> -Kam
>>
>> —
>> NTFSD is sponsored by OSR
>>
>> For our schedule debugging and file system seminars
>> (including our new fs mini-filter seminar) visit:
>> http://www.osr.com/seminars
>>
>> You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
>> To unsubscribe send a blank email to xxxxx@lists.osr.com
>>
>>
>>
>>
>> —
>> NTFSD is sponsored by OSR
>>
>> For our schedule debugging and file system seminars
>> (including our new fs mini-filter seminar) visit:
>> http://www.osr.com/seminars
>>
>> You are currently subscribed to ntfsd as: xxxxx@vipmail.com
>> To unsubscribe send a blank email to xxxxx@lists.osr.com
>>
>>
>