On Jul 1, 2010, at 8:07 PM, Sandeep Joshi wrote:
Hi Sandeep
In certain cases, I don't see layoutcommit on a file at all even
after doing many writes.
FYI:
You should not be paying attention to layoutcommits - they have no
value for the file layout type.
From RFC 5661:
"The LAYOUTCOMMIT operation commits chages in the layout represented
by the current filehandle, client ID (derived from the session ID in
the preceding SEQUENCE operation), byte-range, and stateid."
For the block layout type, this sentence has meaning in that there is
a layoutupdate4 payload that enumerates the blocks that have changed
state from being 'handed out' to being 'written'.
The file layout type has no layoutupdate4 payload, and the layout does
not change due to writes, and thus the LAYOUTCOMMIT call is useless.
The only field in the LAYOUTCOMMIT4args that might possibly be useful
is the loca_last_write_offset which tells the server what the client
thinks is the EOF of the file after WRITE. It is an extremely lame
server (file layout type server) that depends upon clients for this
info.
Client side operations:
open
write(s)
close
On server side (observed operations):
open
layoutget's
close
But, I do not see laycommit at all. In terms data written by client
it is about 4-5MB.
When does client issue laycommit?
The latest linux client sends a layout commit when the VFS does a
super_operations.write_inode call which happens when the metadata of
an inode needs updating. We are seriously considering removing the
layoutcommit call from the file layout client.
-->Andy
regards,
Sandeep
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs"
in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html