]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
uclient: do not accept max_size changes unless they're from auth mds.
authorGreg Farnum <gregory.farnum@dreamhost.com>
Fri, 13 May 2011 23:22:50 +0000 (16:22 -0700)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Fri, 13 May 2011 23:28:48 +0000 (16:28 -0700)
commite8504c0be13c71b1f4021f2430ce9ae1bb8658fb
tree43ccb10480ebc9de2cd379fa159e6ffc22b9cc64
parentb8ddecce572f6598195824d9a6f4b3e9f983083a
uclient: do not accept max_size changes unless they're from auth mds.

Unlike most of the cap options, max_size is an inode member. This meant
that if we got a shared cap grant from a replica MDS, we would set
the max_size to 0!
This caused hangs because when the client would request a new, larger
max_size from the auth MDS then the auth MDS would see the new size
as being smaller than the current max, and drop the message as
being spurious.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/client/Client.cc
src/mds/Locker.cc