ceph: only let auth caps update max_size
authorSage Weil <sage@newdream.net>
Sun, 7 Nov 2010 17:37:25 +0000 (09:37 -0800)
committerSage Weil <sage@newdream.net>
Sun, 7 Nov 2010 17:39:21 +0000 (09:39 -0800)
commit912a9b0319a8eb9e0834b19a25e01013ab2d6a9f
tree7b04fca1669f006c1a1f35da8d986ca8ad11161c
parent7421ab8041d98363edfb85955fa3b9849ffae366
ceph: only let auth caps update max_size

Only the auth MDS has a meaningful max_size value for us, so only update it
in fill_inode if we're being issued an auth cap.  Otherwise, a random
stat result from a non-auth MDS can clobber a meaningful max_size, get
the client<->mds cap state out of sync, and make writes hang.

Specifically, even if the client re-requests a larger max_size (which it
will), the MDS won't respond because as far as it knows we already have a
sufficiently large value.

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/inode.c