mirror of
https://github.com/ceph/ceph
synced 2025-02-19 00:47:49 +00:00
Ceph is a distributed object, block, and file storage platform
If a release and revoke are racing, we need to make sure the MDS behaves even though the revoke msg will be ignored. For example: mds client 1 pAs pAs release(last_issue 1) 2 p p (*** ignored ***) 3 pAs (issue) pAs 4 p p 5 pXs (issue) pXs release(last_issue 1) *** (was completely) ignored *** We fix this by including both seq AND last_issue in revoke_info. The cap state for the above is thus: mds cap state: last_issue = 5 _pending = pXs _revokes = [ p seq=2 li=1, p seq=4 li=3 ] and the MDS will trim any old revokes for which li <= its last_issue. For anything after that, the client will have seen a new issue and will have stopped ignoring cap messages. |
||
---|---|---|
branches/aleung/security1 | ||
debian | ||
fusetrace | ||
man | ||
src | ||
web | ||
wireshark | ||
.gitignore | ||
AUTHORS | ||
autogen.sh | ||
build_upload_debian_packages.sh | ||
ceph.spec.in | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
INSTALL | ||
Makefile.am | ||
NEWS | ||
README |
Ceph - a scalable distributed file system ----------------------------------------- Please see http://ceph.newdream.net/ for current info. ---- To build the Linux kernel client, $ cd src/kernel $ make or $ make KERNELDIR=/path/to/linux $ insmod ceph.ko $ mount -t ceph 1.2.3.4:/ /mnt/ceph ... ---- To build the server daemons, and FUSE client, $ ./autogen.sh $ ./configure $ cd src $ make (Note that the FUSE client will only be built if libfuse is present.) ---- A quick summary of binaries that will be built in src/ daemons: cmon -- monitor daemon. handles cluster state and configuration information. cosd -- storage daemon. stores objects on a given block device. cmds -- metadata daemon. handles file system namespace. cmonctl -- send commands to the monitor cluster. userland clients: cfuse -- fuse client. csyn -- synthetic workload generator client. tools: mkmonfs -- create a fresh monfs (for a new filesystem) monmaptool -- create/edit mon map osdmaptool -- create/edit osd map crushtool -- create/edit crush map dupstore -- duplicate an osd object store (offline) development/debugging: fakesyn -- simulator with synthetic workload fakefuse -- simulator that mounts with fuse ---- see also src/README