Jump to: navigation, search

Difference between revisions of "Swift for File Systems w/o Extended Attributes"

m (Design)
m (Alternative to extended attributes)
Line 10: Line 10:
 
===Alternative to extended attributes===
 
===Alternative to extended attributes===
 
Swift creates one file in file system per swift object. Each file has set of extended attributes associated with it. To get rid of dependency on extended attributes, it is proposed to have one shadow file per Swift created file. The shadow file will contain all extended attributes in in key value form.
 
Swift creates one file in file system per swift object. Each file has set of extended attributes associated with it. To get rid of dependency on extended attributes, it is proposed to have one shadow file per Swift created file. The shadow file will contain all extended attributes in in key value form.
 +
 +
When swift shuffles data on various node, it is noticed that rsync gets used. Swift issues Rsync commands on directory and not files. So it is inherently ensured that along with swift files shadow files also move. This action ensures consistency of swift data.
  
 
==Implementation==
 
==Implementation==

Revision as of 12:19, 26 August 2013

Summary

Today swift assumes that file system underneath supports extended attributes. This restricts use of file systems w/o extended attributes with Swift.

Release Date

Post Havana

Rationale

More the flexibility given to user, the better it would be adoption of Openstack swift. If we can conquer limitations of file systems w/o extended attributes it would be more flexible for end use to choose and select file system.

User Stories

User wants to deploy Openstack swift on EXT2 file system.

Design

Alternative to extended attributes

Swift creates one file in file system per swift object. Each file has set of extended attributes associated with it. To get rid of dependency on extended attributes, it is proposed to have one shadow file per Swift created file. The shadow file will contain all extended attributes in in key value form.

When swift shuffles data on various node, it is noticed that rsync gets used. Swift issues Rsync commands on directory and not files. So it is inherently ensured that along with swift files shadow files also move. This action ensures consistency of swift data.

Implementation

Code Changes

Demo Plan

Demo to be uploaded on Calsoft website (www.calsoftinc.com)