************************************************************************* Libgfdb | ************************************************************************* Libgfdb provides abstract mechanism to record extra/rich metadata required for data maintenance, such as data tiering/classification. It provides consumer with API for recording and querying, keeping the consumer abstracted from the data store used beneath for storing data. It works in a plug-and-play model, where data stores can be plugged-in. Presently we have plugin for Sqlite3. In the future will provide recording and querying performance optimizer. In the current implementation the schema of metadata is fixed. Schema: ~~~~~~ GF_FILE_TB Table: ~~~~~~~~~~~~~~~~~ This table has one entry per file inode. It holds the metadata required to make decisions in data maintenance. GF_ID (Primary key) : File GFID (Universal Unique IDentifier in the namespace) W_SEC, W_MSEC : Write wind time in sec & micro-sec UW_SEC, UW_MSEC : Write un-wind time in sec & micro-sec W_READ_SEC, W_READ_MSEC : Read wind time in sec & micro-sec UW_READ_SEC, UW_READ_MSEC : Read un-wind time in sec & micro-sec WRITE_FREQ_CNTR INTEGER : Write Frequency Counter READ_FREQ_CNTR INTEGER : Read Frequency Counter GF_FLINK_TABLE: ~~~~~~~~~~~~~~ This table has all the hardlinks to a file inode. GF_ID : File GFID (Composite Primary Key)``| GF_PID : Parent Directory GFID (Composite Primary Key) |-> Primary Key FNAME : File Base Name (Composite Primary Key)__| FPATH : File Full Path (Its redundant for now, this will go) W_DEL_FLAG : This Flag is used for crash consistancy, when a link is unlinked. i.e Set to 1 during unlink wind and during unwind this record is deleted LINK_UPDATE : This Flag is used when a link is changed i.e rename. Set to 1 when rename wind and set to 0 in rename unwind Libgfdb API: ~~~~~~~~~~~ Refer libglusterfs/src/gfdb/gfdb_data_store.h Change-Id: I2e9fbab3878ce630a7f41221ef61017dc43db11f BUG: 1194753 Signed-off-by: Joseph Fernandes <josferna@redhat.com> Signed-off-by: Dan Lambright <dlambrig@redhat.com> Signed-off-by: Joseph Fernandes <josferna@redhat.com> Reviewed-on: http://review.gluster.org/9683 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
51 lines
1.7 KiB
Makefile
51 lines
1.7 KiB
Makefile
EXTRA_DIST = autogen.sh \
|
|
COPYING-GPLV2 COPYING-LGPLV3 \
|
|
INSTALL README.md AUTHORS THANKS NEWS \
|
|
glusterfs.spec glusterfs-api.pc.in libgfchangelog.pc.in libgfdb.pc.in \
|
|
run-tests.sh \
|
|
build-aux/pkg-version \
|
|
build-aux/xdrgen \
|
|
contrib/argp-standalone \
|
|
contrib/umountd \
|
|
$(shell find $(top_srcdir)/tests -type f -print)
|
|
|
|
SUBDIRS = $(ARGP_STANDALONE_DIR) libglusterfs rpc api xlators glusterfsd \
|
|
$(FUSERMOUNT_SUBDIR) doc extras cli heal @SYNCDAEMON_SUBDIR@ \
|
|
@UMOUNTD_SUBDIR@ tools
|
|
|
|
pkgconfigdir = @pkgconfigdir@
|
|
pkgconfig_DATA = glusterfs-api.pc libgfchangelog.pc libgfdb.pc
|
|
|
|
CLEANFILES =
|
|
|
|
gitclean: distclean
|
|
find . -name Makefile.in -exec rm -f {} \;
|
|
find . -name Makefile -exec rm -f {} \;
|
|
find . -name mount.glusterfs -exec rm -f {} \;
|
|
rm -fr autom4te.cache
|
|
rm -f missing aclocal.m4 config.h.in config.guess config.sub ltmain.sh install-sh configure depcomp
|
|
-rm -fr $(CONTRIBDIR)/argp-standalone/autom4te.cache
|
|
-rm -f $(CONTRIBDIR)/argp-standalone/aclocal.m4
|
|
-rm -f $(CONTRIBDIR)/argp-standalone/config.h.in
|
|
-rm -f $(CONTRIBDIR)/argp-standalone/configure
|
|
-rm -f $(CONTRIBDIR)/argp-standalone/depcomp
|
|
-rm -fr $(CONTRIBDIR)/argp-standalone/.deps
|
|
-rm -f $(CONTRIBDIR)/argp-standalone/install-sh
|
|
-rm -f $(CONTRIBDIR)/argp-standalone/missing
|
|
|
|
dist-hook: gen-VERSION gen-ChangeLog
|
|
-rm -fr $(distdir)/contrib/argp-standalone/autom4te.cache
|
|
-rm -fr $(distdir)/contrib/argp-standalone/.deps
|
|
-rm -fr $(distdir)/contrib/umountd/.deps
|
|
|
|
.PHONY: gen-VERSION gen-ChangeLog
|
|
|
|
gen-ChangeLog:
|
|
(cd $(srcdir) && git diff && echo ===== git log ==== && git log) > $(distdir)/ChangeLog
|
|
|
|
gen-VERSION:
|
|
if test -d .git; then \
|
|
$(top_srcdir)/build-aux/pkg-version --full \
|
|
> $(distdir)/VERSION; \
|
|
fi
|