mds: avoid journaling overhead for ceph.dir.subvolume for no-op case
In preparation for acquiring the xlock on the directory inode, the MDS
must journal a few events before continuing on with the setvxattr. This
can cause significant delays in the volumes ceph-mgr module which needs
to regularly enable this vxattr from multiple code paths. We could cache
in that module whether the vxattr is set but it's also pretty easy to
adjust the MDS to acquire a rdlock on the directory to check if the
subvolume flag is already set. That is much lighter weight and the lock
is generally readily available.
Fixes: https://tracker.ceph.com/issues/51276 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>