diff options
author | Joseph Fernandes <josferna@redhat.com> | 2015-02-18 19:45:23 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-03-18 10:36:42 -0700 |
commit | 87c7fa3cfdadca4ee883daf84373302a42ad5fdc (patch) | |
tree | e61b744ea3c2058a95a5057bb8c2fe7763eb101f /libgfdb.pc.in | |
parent | dbd62a8d2b50392fbed0a0781a4f241dadb8f506 (diff) | |
download | glusterfs-87c7fa3cfdadca4ee883daf84373302a42ad5fdc.tar.gz glusterfs-87c7fa3cfdadca4ee883daf84373302a42ad5fdc.tar.xz glusterfs-87c7fa3cfdadca4ee883daf84373302a42ad5fdc.zip |
Adding Libgfdb to GlusterFS
*************************************************************************
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>
Diffstat (limited to 'libgfdb.pc.in')
-rw-r--r-- | libgfdb.pc.in | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libgfdb.pc.in b/libgfdb.pc.in new file mode 100644 index 0000000000..01b0381eff --- /dev/null +++ b/libgfdb.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + + +Name: libgfdb +Description: GlusterFS Database Library +Version: @LIBGFDB_VERSION@ +Libs: -L${libdir} -lgfchangedb -lglusterfs -lsqlite3 +Cflags: -I${includedir}/glusterfs/gfdb |