<< " != cap dirtier " << in->cap_dirtier_uid << ":"
<< in->cap_dirtier_gid << ", forcing sync setattr"
<< dendl;
+ /*
+ * This works because we implicitly flush the caps as part of the
+ * request, so the cap update check will happen with the writeback
+ * cap context, and then the setattr check will happen with the
+ * caller's context.
+ *
+ * In reality this pattern is likely pretty rare (different users
+ * setattr'ing the same file). If that turns out not to be the
+ * case later, we can build a more complex pipelined cap writeback
+ * infrastructure...
+ */
if (!mask)
mask |= CEPH_SETATTR_CTIME;
goto force_request;