Getattr
~~~~~~~
-
+[[getattr]]
The 'getattr' VFS method is used to examine the attributes associated
with a resource (it is an inode operation). The attributes are the
same ones returned by a 'stat' operation: mode, uid, guid, size,
--------------------------------------------------------------
//////////////////////////////////////////////////////////////////////
+See <<ldlm-enqueue-rpc>>.
+
The ldlm_request structure signals that it has an intent ('lock_flags' =
LDLM_FL_HAS_INTENT), The lock descriptor's resource type is
-'loc_desc'->'l_resource'->'lr_type'=LDLM_IBITS.
+'lr_type'=LDLM_IBITS (See <<struct-ldlm-resource-desc>>).
The 'ldlm_intent' opcode is for 'getattr' (0x1000).
| OBD_MD_FLDIREA | dir extended attributes
| OBD_MD_FLMODEASIZE | mode size
| OBD_MD_MEA |
-| OBD_MD_FLACL | ACL
+| OBD_MD_FLACL | access control list (ACL)
| OBD_MD_FLMDSCAPA |
|====
| OBD_MD_FLACL | ACL
|====
-As a bonus the MDT returnes layout information about the file, so that
+As a bonus the MDT returns layout information about the file, so that
Client1 can get attribute information from the OST(s) responsible
for the file's objects (if any).
------------------------------
//////////////////////////////////////////////////////////////////////
-*4 - The OST invokes a glimps lock callback on Client2.*
+See <<ldlm-enqueue-rpc>>.
+
+*4 - The OST invokes a glimpse lock callback on Client2.*
Client2 previously had a lock on the desired resource, and the glimpse
induces Client2 to flush its buffers, if needed, and update the OST
------------------------------
//////////////////////////////////////////////////////////////////////
+See <<ldlm-gl-callback-rpc>>.
+
*5 - Client2 replies with LVB data for the OST.*
The OST is waiting to hear back from Client2 to update size and time
-attributes, if needed, due to Client2 chache being flushed to the
+attributes, if needed, due to Client2 cache being flushed to the
OST. The glimpse allows the information to return to the OST, and
thereby get passed to Client1, without taking the lock from Client2.
-------------------------
//////////////////////////////////////////////////////////////////////
-The 'ost_lvb' data from Client2 has atribute data to update the OST.
+The 'ost_lvb' data from Client2 has attribute data to update the OST.
*6 - The OST replies with the updated attribute information.*