file_lock

# mcrash

## file_lock

### 書式

usage: `file_lock` [-f] [address]

### 説明

POSIXレコードロックとflock(2)で使われるロックテーブルを表示します。 flockではロックする際のファイル内オフセットの指定ができませんが、 POSIXレコードロックにはあります。 また、flockは純粋にVFSだけで処理が完結していますが、 POSIXレコードロックはfileオペレーションのlock を呼び出すことによりファイルシステム依存の処理の呼び出しができる点が異なります。 これにより、POSIXレコードロックはNFSの場合でも ファイルの排他に使用することができます。

引数なしで実行した場合は、 file_lock_list リストに乗っているロックをすべて (POSIXレコードロックもflockも) 表示します。

OWNERエントリは `files_struct` コマンドで表示できます。 FILEエントリは `file` コマンドで表示できます。
Tエントリは次の意味です。

W | 排他ロック (F_WRLCK)
R | 共有ロック (F_RDLCK)

STARTとENDはロックしているオフセットであり、 `offset_max`は 0x7fffffffffffffff を意味します。

### 実行例

    > file_lock
        ADDR    OWNER   PID     FILE T      START        END FLAGS
    cfd71420 cfa035a0   960 cc36a0e0 W          0 offset_max posix
    cfd71120 ce8ccc00   930 cec81de0 W          0 offset_max posix
    cfd711e0        0   816 ceb503a0 W          0 offset_max flock
    cfd710c0        0   749 cf1ee9a0 W          0 offset_max flock
    cfd71180        0   669 cfbb4240 W          0 offset_max flock

mcrash, Copyright (C) 2003 ASANO Masahiro