From: Liu Yuan <[email protected]> To quote from Kazutaka: "It is okay to read the older data if the vm doesn't receive the ack of the write requests yet."
So we don't need locks either for object cache. Signed-off-by: Liu Yuan <[email protected]> --- sheep/object_cache.c | 20 -------------------- 1 files changed, 0 insertions(+), 20 deletions(-) diff --git a/sheep/object_cache.c b/sheep/object_cache.c index d3fada3..a722259 100644 --- a/sheep/object_cache.c +++ b/sheep/object_cache.c @@ -319,17 +319,7 @@ static int read_cache_object_noupdate(uint32_t vid, uint32_t idx, void *buf, goto out; } - if (flock(fd, LOCK_SH) < 0) { - ret = SD_RES_EIO; - eprintf("%m\n"); - goto out_close; - } size = xpread(fd, buf, count, offset); - if (flock(fd, LOCK_UN) < 0) { - ret = SD_RES_EIO; - eprintf("%m\n"); - goto out_close; - } if (size != count) { eprintf("size %zu, count:%zu, offset %jd %m\n", @@ -366,17 +356,7 @@ static int write_cache_object_noupdate(uint32_t vid, uint32_t idx, void *buf, goto out; } - if (flock(fd, LOCK_EX) < 0) { - ret = SD_RES_EIO; - eprintf("%m\n"); - goto out_close; - } size = xpwrite(fd, buf, count, offset); - if (flock(fd, LOCK_UN) < 0) { - ret = SD_RES_EIO; - eprintf("%m\n"); - goto out_close; - } if (size != count) { eprintf("size %zu, count:%zu, offset %jd %m\n", -- 1.7.1 -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
