librgw: make rgw file handle versioned
The reason that we need this is that there could be the following scenario:
rgw_setattr sets the file attr;
rgw_write writes some new data, and encodes its attr to store into rados;
before the actual persistence of the file's attr bl, rgw_lookup loads the file's
previous attr and modifies the current file handle's metadata;
rgw_write's result persisted to rados;
rgw_setattr set the current file handle's metadata which is actually an old one to rados
In this case, the attr in rados would be out of date which means loss of data
#3 Updated by Nathan Cutler 11 days ago
@Xuehan Xu - I noticed that #50193 was created before the fix got merged into master.
Please do not create backport issues manually. They get created automatically by a bot when the master PR gets merged and this tracker's status gets changed to "Pending Backport".