Hi Tony,
So basically as i understood which i think i am right is that i have to change EOF at two places.
- In IRP_MJ_SET_INFORMATION when it is not coming from cache manager.
- During Cached Write i.e. Write (NON PAGING IO).
Thanks
Suhail
----- Original Message -----
From: Tony Mason
To: Windows File Systems Devs Interest List
Sent: Tuesday, December 21, 2004 11:51 AM
Subject: RE: [ntfsd] FileSize Changes
User mode writes do not generate set information calls. An application MAY change file sizes explicitly, but a write at, or past, EOF will extend the file implicitly. MM does not extend the file via write operations, however.
Regards,
Tony
Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com
Looking forward to seeing you at the Next OSR File Systems Class April 4, 2004 in Boston!
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Suhail Ansari
Sent: Tuesday, December 21, 2004 12:33 PM
To: ntfsd redirect
Subject: Re: [ntfsd] FileSize Changes
Hi Tony,
I understand this part. But i have one confusion in mind that i want to clear. Does all the write generates set information calls. If yes then i can intercept and change the file size accordingly but if not then there has to be some other place where i have to change.
Thanks
Suhail
----- Original Message -----
From: Tony Mason
To: Windows File Systems Devs Interest List
Sent: Tuesday, December 21, 2004 11:20 AM
Subject: RE: [ntfsd] FileSize Changes
Paging I/O does not extend the size of the file. Even when you get a set info from the cache manager it turns out the file systems don’t really DO anything with it.
This is because the memory mapping APIs exposed to user mode do not support file size extension; the cache manager has a private internal API for extending it, but only does so when the file system asks it to extend the size (via CcSetFileSizes) and thus you would have already seen the file size extension.
Thus, you should only worry about set information calls that are not from the cache manager (IRP_PAGING_IO bit is set, AdvanceOnly is TRUE).
Of course, like all observed behavior, this is subject to change - particularly in the Longhorn timeframe.
Regards,
Tony
Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com
Looking forward to seeing you at the Next OSR File Systems Class April 4, 2004 in Boston!
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Suhail Ansari
Sent: Tuesday, December 21, 2004 11:55 AM
To: ntfsd redirect
Subject: Re: [ntfsd] FileSize Changes
Hi Ladislav,
So u mean that i should send my own SET INFO when i receive a NON PAGING IO Write. Because that only seems a thing that i can do because i dont receive any SET INFO(NON PAGING IO). I only receive a SET INFO(PAGING IO) after i receive a (PAGING IO) Write.
Thanks
Suhail
----- Original Message -----
From: Ladislav Zezula
To: Windows File Systems Devs Interest List
Sent: Tuesday, December 21, 2004 2:58 AM
Subject: Re: [ntfsd] FileSize Changes
You must intercept non-paging I/O too and ensure that when
the paging I/O comes, then the size will be set.
L.
Questions? First check the IFS FAQ at https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@listsosr.com
Questions? First check the IFS FAQ at https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com