Proposal to add one more byte to GFID to store "Type" information. Extra byte will represent type(directory: 00, file: 01, Symlink: 02 etc) For example, if a directory GFID is f4f18c02-0360-4cdc-8c00-0164e49a7afd then, GFID2 will be 00f4f18c02-0360-4cdc-8c00-0164e49a7afd. Changes to Backend store ------------------------ Existing: .glusterfs/gfid[0:2]/gfid/[2:4]/gfid Proposed: .glusterfs/gfid2[0:2]/gfid2[2:4]/gfid2[4:6]/gfid2 Advantages: ----------- - Automatic grouping in .glusterfs directory based on file Type. - Easy identification of Type by looking at GFID in logs/status output etc. - Crawling(Quota/AFR): List of directories can be easily fetched by crawling `.glusterfs/gfid2[0:2]/` directory. This enables easy parallel Crawling. - Quota - Marker: Marker transator can mark xtime of current file and parent directory. No need to update xtime xattr of all directories till root. - Geo-replication: - Crawl can be multithreaded during initial sync. With marker changes above it will be more effective in crawling. Please add if any more advantageous. Disadvantageous: ---------------- Functionality is not changed with the above change except the length of the ID. I can't think of any disadvantages except the code changes to accommodate this change. Let me know if I missed anything here. Changes: --------- - Code changes to accommodate 17 bytes GFID instead of 16 bytes(Read and Write) - Migration Tool to upgrade GFIDs in Volume/Cluster Let me know your thoughts. -- regards Aravinda http://aravindavk.in _______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://www.gluster.org/mailman/listinfo/gluster-devel