While stopping an mds we can reply to a request while all client
sessions are closing. We shouldn't assert in this case.
Fixes: https://tracker.ceph.com/issues/47833
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
Some xattr tests do not fully cleanup set xattrs. Subsequent
tests may expect xattrs to be absent during the test, such as
setting an xattr and then removing followed by checking if the
xattr list to be empty. This may fail if earlier tests do not
cleanup xattrs, especially for root.
So, cleanup xattrs on root before starting tests. Other directories
are removed anyway, so we do not have to bother about those.
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Since xattr_map has entries for xattrs in ceph namespace.
Such xattrs are accessible via getxattr().
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Since all ceph.* xattrs need not be virtual (stored in inode
structure), restrict certain xattrs (ceph.mirror.info) to be
persisted in xattr_map. Other ceph.* xattrs which do not pass
the virtual xattr check are rejected.
Signed-off-by: Venky Shankar <vshankar@redhat.com>
This is a compound xattr with the xattr value being fixed in
format. MDS stores this xattr as two (since the xattr value
right now just has two components or compounds) separate entries
in the xattr_map. This is done to avoid bloating the xattr value
if more "compounds" are added.
You may ask, why do it this way rather having the application
(cephfs-mirror daemon in this case) just set each xattr one
after the other? Well, we loose xattr consistency (from the
application point-of-view) -- an application crash (bug!) or
an ENOSPC in the server could leave M out of N xattrs (M < N)
on-disk.
With the compound xattr operation done on the server side,
journaling ensure that either all (N) xattrs are available or
none are available after recovering from a crash.
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Not all ceph.* xattrs are virtual -- virtual in the sense
that such xattrs have entries in the inode structure (inode_t)
rather than in xattr_map. There could be cases where an xattr
is in ceph namespace but does not necessarily need to be stored
for each inode -- so filter such xattrs individually rather than
treating all ceph.* xattrs as virtual.
Signed-off-by: Venky Shankar <vshankar@redhat.com>
* refs/pull/29951/head:
test: add tests for validating MDS metrics via `perf stats` module
test: Filesystem class helpers to grow and shrink MDS cluster
mgr/stats: mds performance stats module
mds: support sending empty perf metrics to ceph-manager
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Note: It's not proper to use scoped enum type here since the
enum value will be used as container index.
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
similar to handling of `sys_api`, convert a NoneType to a Dict
Fixes: https://tracker.ceph.com/issues/47841
Signed-off-by: Michael Fritch <mfritch@suse.com>
For the ceph-iscsi test case we need to run the tests sequentially,
because the client test will depend on the gateway ones.
Signed-off-by: Xiubo Li <xiubli@redhat.com>
mgr/dashboard: fix the error when exporting CephFS path "/" in NFS exports
Reviewed-by: Laura Paduano lpaduano@suse.com
Reviewed-by: Stephan Müller smueller@suse.com
Reviewed-by: Varsha Rao varao@redhat.com
Right now, there are no per-mds metrics that are tracked and
sent by mds. However, such metrics will get added soon. So,
send empty performance metrics to ceph-manager for now.
Signed-off-by: Venky Shankar <vshankar@redhat.com>
... into smaller test classes. This enables breaking up the volumes yaml
into smaller yaml fragments.
Fixes: https://tracker.ceph.com/issues/47160
Signed-off-by: Ramana Raja <rraja@redhat.com>
Allows to individually mark OSDs up/in. This is useful to determine
how many PGs will move when reprovisioning an OSD whose drive failed.
Signed-off-by: Alex Marangone <amarangone@digitalocean.com>
1. "changcheng.liu@aliyun.com" need be classified into intel until now.
This reverts part of commit: df07e9f3
2. add "Yuan Lu <yuan.y.lu@intel.com>" in mailmap
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>