Mercurial > nomad
changeset 776:2cf1593cd4ab
objstore: add desired oid argument to objstore_unlink
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Mon, 30 Mar 2020 23:03:53 -0400 |
parents | bf3190d173b8 |
children | 0b4ffdbf3b3f |
files | src/client/cmd_dir.c src/objstore/include/nomad/objstore.h src/objstore/obj_ops.c |
diffstat | 3 files changed, 6 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/client/cmd_dir.c Tue Mar 31 09:18:24 2020 -0400 +++ b/src/client/cmd_dir.c Mon Mar 30 23:03:53 2020 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2019 Josef 'Jeff' Sipek <jeffpc@josefsipek.net> + * Copyright (c) 2015-2020 Josef 'Jeff' Sipek <jeffpc@josefsipek.net> * Copyright (c) 2015 Holly Sipek * * Permission is hereby granted, free of charge, to any person obtaining a copy @@ -78,7 +78,7 @@ if (!oh) return -EINVAL; - return objstore_unlink(oh->cookie, req->path); + return objstore_unlink(oh->cookie, req->path, &req->desired); } int cmd_getdent(struct fsconn *conn, union cmd *cmd)
--- a/src/objstore/include/nomad/objstore.h Tue Mar 31 09:18:24 2020 -0400 +++ b/src/objstore/include/nomad/objstore.h Mon Mar 30 23:03:53 2020 -0400 @@ -164,7 +164,7 @@ extern int objstore_create(struct objstore_open_obj_info *dircookie, const char *name, uint16_t mode, struct noid *child); extern int objstore_unlink(struct objstore_open_obj_info *dircookie, - const char *name); + const char *name, const struct noid *desired); extern int objstore_getdent(struct objstore_open_obj_info *dircookie, const uint64_t offset, struct ndirent *child);
--- a/src/objstore/obj_ops.c Tue Mar 31 09:18:24 2020 -0400 +++ b/src/objstore/obj_ops.c Mon Mar 30 23:03:53 2020 -0400 @@ -428,7 +428,8 @@ return ret; } -int objstore_unlink(struct objstore_open_obj_info *diropen, const char *name) +int objstore_unlink(struct objstore_open_obj_info *diropen, const char *name, + const struct noid *desired) { struct obj *dir; int ret; @@ -448,7 +449,7 @@ if (!NATTR_ISDIR(diropen->ver->attrs.mode)) ret = -ENOTDIR; else - ret = dir_unlink(diropen->ver, name, NULL); + ret = dir_unlink(diropen->ver, name, desired); MXUNLOCK(&dir->lock); return ret;