mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-15 03:54:29 +00:00
OCFS2 puts inode meta data in the "lock value block" provided by the DLM. Typically, i_generation is encoded in the lock name so that a deleted inode on and a new one in the same block don't share the same lvb. Unfortunately, that scheme means that the read in ocfs2_read_locked_inode() is potentially thrown away as soon as the meta data lock is taken - we cannot encode the lock name without first knowing i_generation, which requires a disk read. This patch encodes i_generation in the inode meta data lvb, and removes the value from the inode meta data lock name. This way, the read can be covered by a lock, and at the same time we can distinguish between an up to date and a stale LVB. This will help cold-cache stat(2) performance in particular. Since this patch changes the protocol version, we take the opportunity to do a minor re-organization of two of the LVB fields. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> |
||
|---|---|---|
| .. | ||
| endian.h | ||
| heartbeat.c | ||
| heartbeat.h | ||
| Makefile | ||
| masklog.c | ||
| masklog.h | ||
| nodemanager.c | ||
| nodemanager.h | ||
| ocfs2_heartbeat.h | ||
| ocfs2_nodemanager.h | ||
| quorum.c | ||
| quorum.h | ||
| sys.c | ||
| sys.h | ||
| tcp_internal.h | ||
| tcp.c | ||
| tcp.h | ||
| ver.c | ||
| ver.h | ||