23.07.2014 Views

Lustre 1.6 Operations Manual

Lustre 1.6 Operations Manual

Lustre 1.6 Operations Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

■ OBD_RACE: Similar to OBD_FAIL_CHECK. Useful to have multiple processes<br />

execute the same code concurrently to provoke locking races. The first process to<br />

hit OBD_RACE sleeps until a second process hits OBD_RACE, then both<br />

processes continue.<br />

■ OBD_FAIL_ONCE: A flag set on a lustre.fail_loc breakpoint to cause the<br />

OBD_FAIL_CHECK condition to be hit only one time. Otherwise, a fail_loc is<br />

permanent until it is cleared with "sysctl -w lustre.fail_loc=0".<br />

■ OBD_FAIL_RAND: Has OBD_FAIL_CHECK fail randomly; on average every (1 /<br />

lustre.fail_val) times.<br />

■ OBD_FAIL_SKIP: Has OBD_FAIL_CHECK succeed lustre.fail_val times, and then<br />

fail permanently or once with OBD_FAIL_ONCE.<br />

■<br />

OBD_FAIL_SOME: Has OBD_FAIL_CHECK fail lustre.fail_val times, and then<br />

succeed.<br />

23.2.9 Debugging in UML<br />

<strong>Lustre</strong> developers use gdb in User Mode Linux (UML) to debug <strong>Lustre</strong>. The lmc and<br />

lconf tools can be used to configure a <strong>Lustre</strong> cluster, load the required modules,<br />

start the services, and set up all the devices. lconf puts the debug symbols for the<br />

newly-loaded module into /tmp/gdb-localhost.localdomain on the host<br />

machine. These symbols can be loaded into gdb using the source command in gdb.<br />

symbol-file<br />

delete<br />

symbol-file /usr/src/lum/linux<br />

source /tmp/gdb-{hostname}<br />

b panic<br />

b stop<br />

Chapter 23 <strong>Lustre</strong> Debugging 23-11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!