From: Liu Yuan <tailai.ly at taobao.com> 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 <tailai.ly at taobao.com> --- 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 |