本公开总体上涉及数据存储,更具体地涉及减少数据存储系统中浪费的存储容量。
背景技术:
1、诸如文件等对象通常可以包括对象数据和对象元数据。例如,对象数据包括对象的内容,而对象元数据可以包括关于对象数据和对象数据在文件系统中的位置的信息。此外,在文件系统中,对象数据和元数据通常可以被存储在固定大小的文件系统块中。对象的大于单个文件系统块的对象数据可以被分割并存储到多个文件系统块中。包含特定对象的对象数据(即,数据块)的(一个或多个)文件系统块的位置可以通过为对象创建的文件系统元数据的形式来指向。对象的文件系统元数据也可以被存储在一个或多个固定块大小的文件系统块中。因此,每当小于固定块大小的文件被存储到文件系统中时,固定块大小的文件系统就可能浪费存储空间。类似地,每当小于固定块大小的元数据数据结构被存储到单独的元数据文件系统块中时,固定块大小的文件系统就可能浪费空间。
技术实现思路
1、本文的一些示例包括计算设备,该计算设备可以将根元数据数据结构(ds)一起存储到组合根元数据文件系统块中,并且可以在数据文件系统块中至少存储由第一根元数据ds引用的第一文件数据和由第二根元数据ds引用的第二文件数据。计算设备可以基于由第一根元数据ds引用的第一文件数据和由第二根元数据ds引用的第二文件数据来确定数据文件系统块的引用计数。另外,计算设备可以确定具有与第一文件数据匹配的内容并且由第三根元数据ds引用的第三文件数据。计算设备可以更新第三根元数据ds以引用第一文件数据,并且基于更新第三根元数据ds来更新数据文件系统块的引用计数。
1.一种系统,其包括:
2.根据权利要求1所述的系统,所述操作还包括:
3.根据权利要求1所述的系统,其中,确定所述组合根元数据ds文件系统块是否具有足够的存储空间用于所述新根元数据ds的操作包括:访问位图以确定所述组合根元数据ds文件系统块的引用计数。
4.根据权利要求1所述的系统,其中,所述操作响应于写入请求而自动执行。
5.根据权利要求1所述的系统,其中,所述第一根元数据ds和所述第二根元数据ds被包括在相同的组合根元数据ds文件系统块中。
6.根据权利要求1所述的系统,其中,当另一个根元数据ds文件系统块中的另一个根元数据ds引用所述文件数据文件系统块中的文件数据时,使所述文件数据文件系统块的所述引用计数递增。
7.根据权利要求1所述的系统,其还包括:将中间元数据ds与其他中间元数据ds一起存储到组合中间元数据ds文件系统块中。
8.根据权利要求7所述的系统,所述操作还包括:
9.根据权利要求1所述的系统,其中,所述组合中间元数据ds文件系统块中的第一中间元数据ds引用所述组合中间元数据ds文件系统块中的第二中间元数据ds。
10.根据权利要求9所述的系统,其中,所述第一中间元数据ds由所述组合根元数据ds文件系统块中的相应的根元数据ds引用。
11.根据权利要求10所述的系统,其中,所述第二中间元数据ds引用数据文件系统块。
12.一种方法,其包括:
13.根据权利要求12所述的方法,其还包括:
14.一种或多种非瞬态计算机可读介质,所述计算机可读介质存储指令,所述指令能够由一个或多个处理器执行,以将所述一个或多个处理器配置为执行操作,所述操作包括:
15.根据权利要求14所述的一种或多种非瞬态计算机可读介质,所述操作还包括: