[Gluster-devel] [features/locks] Fetching lock info in lookup

Raghavendra Gowdappa rgowdapp at redhat.com
Wed Jun 20 03:36:35 UTC 2018


All,

We've a requirement in DHT [1] to query the number of locks granted on an
inode in lookup fop. I am planning to use xdata_req in lookup to pass down
the relevant arguments for this query. I am proposing following signature:

In lookup request path following key value pairs will be passed in
xdata_req:
* "glusterfs.lock.type"
    - values can be "glusterfs.posix", "glusterfs.inodelk",
"glusterfs.entrylk"
* If the value of "glusterfs.lock.type" is "glusterfs.entrylk", then
basename is passed as a value in xdata_req for key
"glusterfs.entrylk.basename"
* key "glusterfs.lock-on?" will differentiate whether the lock information
is on current inode ("glusterfs.current-inode") or parent-inode
("glusterfs.parent-inode"). For a nameless lookup "glusterfs.parent-inode"
is invalid.
* "glusterfs.blocked-locks" - Information should be limited to blocked
locks.
* "glusterfs.granted-locks" - Information should be limited to granted
locks.
* If necessary other information about granted locks, blocked locks can be
added. Since, there is no requirement for now, I am not adding these keys.

Response dictionary will have information in following format:
* "glusterfs.entrylk.<gfid>.<basename>.granted-locks" - number of granted
entrylks on inode "gfid" with "basename" (usually this value will be either
0 or 1 unless we introduce read/write lock semantics).
* "glusterfs.inodelk.<gfid>.granted-locks" - number of granted inodelks on
"basename"

Thoughts?

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1581306#c28

regards,
Raghavendra
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-devel/attachments/20180620/178dbe52/attachment.html>


More information about the Gluster-devel mailing list