]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
ceph: inode operations
authorSage Weil <sage@newdream.net>
Tue, 19 May 2009 21:45:28 +0000 (14:45 -0700)
committerSage Weil <sage@newdream.net>
Tue, 19 May 2009 21:45:28 +0000 (14:45 -0700)
commit3685baff5dc99e435f6b485897eac57b59c4db46
tree817fab3b8fc6e6274372a40c11bea6c463f7cffe
parent30cc9c4eb221f62ba57ed585b650e2f2c5579734
ceph: inode operations

Inode cache and inode operations.  We also include routines to
incorporate metadata structures returned by the MDS into the client
cache, and some helpers to deal with file capabilities and metadata
leases.  The bulk of that work is done by fill_inode() and
fill_trace().

Most MDS responses include a "trace" of dentry and inode information
from the inode in question back to the root.  fill_trace() takes pains
to ensure that the dcache is updated safely.  If the directory i_mutex
is not already held and cannot be taken (via trylock), that segment of
the trace is skipped.  If an inode is linked incorrectly, we attempt
to reattach it in the correct position in the hierarchy.
fs/ceph/inode.c [new file with mode: 0644]