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;