numam-spdk/lib/blobfs
Jim Harris a6014eb2ad blobfs: process one set_xattr at a time
During RocksDB testing with MySQL, we found cases
where blobfs would try to update and sync the length
xattr on the underlying blob while an existing update
was already in progress.  This was primarily driven
by RocksDB performing appends and syncs on the log
file from multiple writer threads.

The simplest way to fix this is to just process one
sync_request at a time.  There could be a tiny bit
of inefficiency here if multiple threads are appending
and syncing a file in parallel - we can look at some
additional optimizations if we find a case where that
is noticeable.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Reported-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: Changpeng Liu <changpeng.liu@intel.com>
Change-Id: I7ab7814494d365bae8716efd0b828337286cc7b7

Reviewed-on: https://review.gerrithub.io/369490
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2017-07-13 19:53:25 -04:00
..
blobfs_internal.h blobfs: separate cache tree related definitions into tree.h 2017-05-04 09:11:28 -07:00
blobfs.c blobfs: process one set_xattr at a time 2017-07-13 19:53:25 -04:00
Makefile blobfs: Add a lightweight filesystem built on the blobstore 2017-03-24 14:15:45 -07:00
tree.c blobfs/tree: assert that array index is in bounds 2017-06-09 15:46:49 -04:00
tree.h blobfs: separate cache tree related definitions into tree.h 2017-05-04 09:11:28 -07:00