From: Paul Ryan <pajryan at gmail.com> This adds support so tgtadm can return an error code and error message when a non-existent user account is deleted from a target. Signed-off-by: Paul Ryan <pajryan at gmail.com> --- usr/mgmt.c | 3 +-- usr/target.c | 5 +++-- usr/tgtd.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/usr/mgmt.c b/usr/mgmt.c index af37480..d8c398e 100644 --- a/usr/mgmt.c +++ b/usr/mgmt.c @@ -261,8 +261,7 @@ static int account_mgmt(int lld_no, struct mgmt_task *mtask) err = account_add(user, password); } else { if (req->op == OP_DELETE) { - account_del(user); - err = 0; + err = account_del(user); } else err = account_ctl(req->tid, req->ac_dir, user, req->op == OP_BIND); diff --git a/usr/target.c b/usr/target.c index 83f572c..e621b59 100644 --- a/usr/target.c +++ b/usr/target.c @@ -1412,14 +1412,14 @@ int account_ctl(int tid, int type, char *user, int bind) return err; } -void account_del(char *user) +int account_del(char *user) { struct account_entry *ac; struct target *target; ac = __account_lookup_user(user); if (!ac) - return; + return TGTADM_NO_USER; list_for_each_entry(target, &target_list, target_siblings) { account_ctl(target->tid, ACCOUNT_TYPE_INCOMING, ac->user, 0); @@ -1433,6 +1433,7 @@ void account_del(char *user) free(ac->user); free(ac->password); free(ac); + return 0; } int account_available(int tid, int dir) diff --git a/usr/tgtd.h b/usr/tgtd.h index 86198c8..d5257f1 100644 --- a/usr/tgtd.h +++ b/usr/tgtd.h @@ -294,7 +294,7 @@ extern char *iqn_acl_get(int tid, int idx); extern int account_lookup(int tid, int type, char *user, int ulen, char *password, int plen); extern int account_add(char *user, char *password); -extern void account_del(char *user); +extern int account_del(char *user); extern int account_ctl(int tid, int type, char *user, int bind); extern int account_show(char *buf, int rest); extern int account_available(int tid, int dir); -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html |