This patch re-writes FS backend to support shared backend sharing locks for safe concurrent access across multiple servers.
Repeated code around both object layers are moved and combined into simple re-usable functions.