ceph: map snapid to anonymous bdev ID
ceph_getattr() return zero dev ID for head inodes and set dev ID to snapid directly for snaphost inodes. This is not good because userspace utilities may consider device ID of 0 as invalid, snapid may conflict with other device's ID. This patch introduces "snapids to anonymous bdev IDs" map. we create a new mapping when we see a snapid for the first time. we trim unused mapping after it is ilde for 5 minutes. Link: http://tracker.ceph.com/issues/22353 Signed-off-by:"Yan, Zheng" <zyan@redhat.com> Acked-by:
Jeff Layton <jlayton@redhat.com> Signed-off-by:
Ilya Dryomov <idryomov@gmail.com>
Showing
- fs/ceph/inode.c 23 additions, 14 deletionsfs/ceph/inode.c
- fs/ceph/mds_client.c 8 additions, 0 deletionsfs/ceph/mds_client.c
- fs/ceph/mds_client.h 13 additions, 0 deletionsfs/ceph/mds_client.h
- fs/ceph/snap.c 154 additions, 2 deletionsfs/ceph/snap.c
- fs/ceph/super.h 12 additions, 1 deletionfs/ceph/super.h
Please register or sign in to comment