diff options
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/caching/fscache.txt | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/Documentation/filesystems/caching/fscache.txt b/Documentation/filesystems/caching/fscache.txt index 9e94b9491d89..cac09e11ca30 100644 --- a/Documentation/filesystems/caching/fscache.txt +++ b/Documentation/filesystems/caching/fscache.txt | |||
@@ -299,6 +299,87 @@ proc files. | |||
299 | jiffy range covered, and the SECS field the equivalent number of seconds. | 299 | jiffy range covered, and the SECS field the equivalent number of seconds. |
300 | 300 | ||
301 | 301 | ||
302 | =========== | ||
303 | OBJECT LIST | ||
304 | =========== | ||
305 | |||
306 | If CONFIG_FSCACHE_OBJECT_LIST is enabled, the FS-Cache facility will maintain a | ||
307 | list of all the objects currently allocated and allow them to be viewed | ||
308 | through: | ||
309 | |||
310 | /proc/fs/fscache/objects | ||
311 | |||
312 | This will look something like: | ||
313 | |||
314 | [root@andromeda ~]# head /proc/fs/fscache/objects | ||
315 | OBJECT PARENT STAT CHLDN OPS OOP IPR EX READS EM EV F S | NETFS_COOKIE_DEF TY FL NETFS_DATA OBJECT_KEY, AUX_DATA | ||
316 | ======== ======== ==== ===== === === === == ===== == == = = | ================ == == ================ ================ | ||
317 | 17e4b 2 ACTV 0 0 0 0 0 0 7b 4 0 8 | NFS.fh DT 0 ffff88001dd82820 010006017edcf8bbc93b43298fdfbe71e50b57b13a172c0117f38472, e567634700000000000000000000000063f2404a000000000000000000000000c9030000000000000000000063f2404a | ||
318 | 1693a 2 ACTV 0 0 0 0 0 0 7b 4 0 8 | NFS.fh DT 0 ffff88002db23380 010006017edcf8bbc93b43298fdfbe71e50b57b1e0162c01a2df0ea6, 420ebc4a000000000000000000000000420ebc4a0000000000000000000000000e1801000000000000000000420ebc4a | ||
319 | |||
320 | where the first set of columns before the '|' describe the object: | ||
321 | |||
322 | COLUMN DESCRIPTION | ||
323 | ======= =============================================================== | ||
324 | OBJECT Object debugging ID (appears as OBJ%x in some debug messages) | ||
325 | PARENT Debugging ID of parent object | ||
326 | STAT Object state | ||
327 | CHLDN Number of child objects of this object | ||
328 | OPS Number of outstanding operations on this object | ||
329 | OOP Number of outstanding child object management operations | ||
330 | IPR | ||
331 | EX Number of outstanding exclusive operations | ||
332 | READS Number of outstanding read operations | ||
333 | EM Object's event mask | ||
334 | EV Events raised on this object | ||
335 | F Object flags | ||
336 | S Object slow-work work item flags | ||
337 | |||
338 | and the second set of columns describe the object's cookie, if present: | ||
339 | |||
340 | COLUMN DESCRIPTION | ||
341 | =============== ======================================================= | ||
342 | NETFS_COOKIE_DEF Name of netfs cookie definition | ||
343 | TY Cookie type (IX - index, DT - data, hex - special) | ||
344 | FL Cookie flags | ||
345 | NETFS_DATA Netfs private data stored in the cookie | ||
346 | OBJECT_KEY Object key } 1 column, with separating comma | ||
347 | AUX_DATA Object aux data } presence may be configured | ||
348 | |||
349 | The data shown may be filtered by attaching the a key to an appropriate keyring | ||
350 | before viewing the file. Something like: | ||
351 | |||
352 | keyctl add user fscache:objlist <restrictions> @s | ||
353 | |||
354 | where <restrictions> are a selection of the following letters: | ||
355 | |||
356 | K Show hexdump of object key (don't show if not given) | ||
357 | A Show hexdump of object aux data (don't show if not given) | ||
358 | |||
359 | and the following paired letters: | ||
360 | |||
361 | C Show objects that have a cookie | ||
362 | c Show objects that don't have a cookie | ||
363 | B Show objects that are busy | ||
364 | b Show objects that aren't busy | ||
365 | W Show objects that have pending writes | ||
366 | w Show objects that don't have pending writes | ||
367 | R Show objects that have outstanding reads | ||
368 | r Show objects that don't have outstanding reads | ||
369 | S Show objects that have slow work queued | ||
370 | s Show objects that don't have slow work queued | ||
371 | |||
372 | If neither side of a letter pair is given, then both are implied. For example: | ||
373 | |||
374 | keyctl add user fscache:objlist KB @s | ||
375 | |||
376 | shows objects that are busy, and lists their object keys, but does not dump | ||
377 | their auxiliary data. It also implies "CcWwRrSs", but as 'B' is given, 'b' is | ||
378 | not implied. | ||
379 | |||
380 | By default all objects and all fields will be shown. | ||
381 | |||
382 | |||
302 | ========= | 383 | ========= |
303 | DEBUGGING | 384 | DEBUGGING |
304 | ========= | 385 | ========= |