History log of /openbmc/linux/fs/ceph/caps.c (Results 776 – 788 of 788)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# cbd03635 09-Feb-2010 Sage Weil <sage@newdream.net>

ceph: cap revocation fixes

Try to invalidate pages in ceph_check_caps() if FILE_CACHE is being
revoked. If we fail, queue an immediate async invalidate if FILE_CACHE
is being revoke

ceph: cap revocation fixes

Try to invalidate pages in ceph_check_caps() if FILE_CACHE is being
revoked. If we fail, queue an immediate async invalidate if FILE_CACHE
is being revoked. (If it's not being revoked, we just queue the caps
for later evaluation later, as per the old behavior.)

Signed-off-by: Sage Weil <sage@newdream.net>

show more ...


Revision tags: v2.6.33-rc4, v2.6.33-rc3, v2.6.33-rc2
# 6df058c0 22-Dec-2009 Sage Weil <sage@newdream.net>

ceph: include transaction id in ceph_msg_header (protocol change)

Many (most?) message types include a transaction id. By including it in
the fixed size header, we always have it availa

ceph: include transaction id in ceph_msg_header (protocol change)

Many (most?) message types include a transaction id. By including it in
the fixed size header, we always have it available even when we are unable
to allocate memory for the (larger, variable sized) message body. This
will allow us to error out the appropriate request instead of (silently)
dropping the reply.

Signed-off-by: Sage Weil <sage@newdream.net>

show more ...


# 5dacf091 21-Dec-2009 Sage Weil <sage@newdream.net>

ceph: do not touch_caps while iterating over caps list

Avoid confusing iterate_session_caps(), flag the session while we are
iterating so that __touch_cap does not rearrange items on the

ceph: do not touch_caps while iterating over caps list

Avoid confusing iterate_session_caps(), flag the session while we are
iterating so that __touch_cap does not rearrange items on the list.

All other modifiers of session->s_caps do so under the protection of
s_mutex.

Signed-off-by: Sage Weil <sage@newdream.net>

show more ...


Revision tags: v2.6.33-rc1
# 9ec7cab1 14-Dec-2009 Sage Weil <sage@newdream.net>

ceph: hex dump corrupt server data to KERN_DEBUG

Also, print fsid using standard format, NOT hex dump.

Signed-off-by: Sage Weil <sage@newdream.net>


Revision tags: v2.6.32
# 50b885b9 01-Dec-2009 Sage Weil <sage@newdream.net>

ceph: whitespace cleanup

Signed-off-by: Sage Weil <sage@newdream.net>


Revision tags: v2.6.32-rc8, v2.6.32-rc7
# 11ea8eda 12-Nov-2009 Sage Weil <sage@newdream.net>

ceph: fix page invalidation deadlock

We occasionally want to make a best-effort attempt to invalidate cache
pages without fear of blocking. If this fails, we fall back to an async
i

ceph: fix page invalidation deadlock

We occasionally want to make a best-effort attempt to invalidate cache
pages without fear of blocking. If this fails, we fall back to an async
invalidate in another thread.

Use invalidate_mapping_pages instead of invalidate_inode_page2, as that
will skip locked pages, and not deadlock.

Signed-off-by: Sage Weil <sage@newdream.net>

show more ...


# cdac8303 10-Nov-2009 Sage Weil <sage@newdream.net>

ceph: remove recon_gen logic

We don't get an explicit affirmative confirmation that our caps reconnect,
nor do we necessarily want to pay that cost. So, take all this code out
for n

ceph: remove recon_gen logic

We don't get an explicit affirmative confirmation that our caps reconnect,
nor do we necessarily want to pay that cost. So, take all this code out
for now.

Signed-off-by: Sage Weil <sage@newdream.net>

show more ...


# 685f9a5d 09-Nov-2009 Sage Weil <sage@newdream.net>

ceph: do not confuse stale and dead (unreconnected) caps

We were using the cap_gen to track both stale caps (caps that timed out
due to temporarily losing touch with the mds) and dead ca

ceph: do not confuse stale and dead (unreconnected) caps

We were using the cap_gen to track both stale caps (caps that timed out
due to temporarily losing touch with the mds) and dead caps that did not
reconnect after an MDS failure. Introduce a recon_gen counter to track
reconnections to restarted MDSs and kill dead caps based on that instead.

Rename gen to cap_gen while we're at it to make it more clear which is
which.

Signed-off-by: Sage Weil <sage@newdream.net>

show more ...


Revision tags: v2.6.32-rc6
# 6b805185 27-Oct-2009 Sage Weil <sage@newdream.net>

ceph: allocate and parse mount args before client instance

This simplifies much of the error handling during mount. It also means
that we have the mount args before client creation, and

ceph: allocate and parse mount args before client instance

This simplifies much of the error handling during mount. It also means
that we have the mount args before client creation, and we can initialize
based on those options.

Signed-off-by: Sage Weil <sage@newdream.net>

show more ...


# 76e3b390 15-Oct-2009 Sage Weil <sage@newdream.net>

ceph: move dirty caps code around

Cleanup only.

Signed-off-by: Sage Weil <sage@newdream.net>


Revision tags: v2.6.32-rc5
# afcdaea3 14-Oct-2009 Sage Weil <sage@newdream.net>

ceph: flush dirty caps via the cap_dirty list

Previously we were flushing dirty caps by passing an extra flag
when traversing the delayed caps list. Besides being a bit ugly,
that c

ceph: flush dirty caps via the cap_dirty list

Previously we were flushing dirty caps by passing an extra flag
when traversing the delayed caps list. Besides being a bit ugly,
that can also miss caps that are dirty but didn't result in a
cap requeue: notably, mark_caps_dirty().

Separate the flushing into a separate helper, and traverse the
cap_dirty list.

This also brings i_dirty_item in line with i_dirty_caps: we are
on the list IFF caps != 0. We carry an inode ref IFF
dirty_caps|flushing_caps != 0.

Lose the unused return value from __ceph_mark_caps_dirty().

Signed-off-by: Sage Weil <sage@newdream.net>

show more ...


# cdc35f96 14-Oct-2009 Sage Weil <sage@newdream.net>

ceph: move generic flushing code into helper

Both callers of __mark_caps_flushing() do the same work; move it
into the helper.

Signed-off-by: Sage Weil <sage@newdream.net>


Revision tags: v2.6.32-rc4
# a8599bd8 06-Oct-2009 Sage Weil <sage@newdream.net>

ceph: capability management

The Ceph metadata servers control client access to inode metadata and
file data by issuing capabilities, granting clients permission to read
and/or write

ceph: capability management

The Ceph metadata servers control client access to inode metadata and
file data by issuing capabilities, granting clients permission to read
and/or write both inode field and file data to OSDs (storage nodes).
Each capability consists of a set of bits indicating which operations
are allowed.

If the client holds a *_SHARED cap, the client has a coherent value
that can be safely read from the cached inode.

In the case of a *_EXCL (exclusive) or FILE_WR capabilities, the client
is allowed to change inode attributes (e.g., file size, mtime), note
its dirty state in the ceph_cap, and asynchronously flush that
metadata change to the MDS.

In the event of a conflicting operation (perhaps by another client),
the MDS will revoke the conflicting client capabilities.

In order for a client to cache an inode, it must hold a capability
with at least one MDS server. When inodes are released, release
notifications are batched and periodically sent en masse to the MDS
cluster to release server state.

Signed-off-by: Sage Weil <sage@newdream.net>

show more ...


1...<<3132