Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 50f35158 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
  libceph: Create a new key type "ceph".
  libceph: Get secret from the kernel keys api when mounting with key=NAME.
  ceph: Move secret key parsing earlier.
  libceph: fix null dereference when unregistering linger requests
  ceph: unlock on error in ceph_osdc_start_request()
  ceph: fix possible NULL pointer dereference
  ceph: flush msgr_wq during mds_client shutdown
parents 6aba74f2 4b2a58ab
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3215,9 +3215,15 @@ void ceph_mdsc_destroy(struct ceph_fs_client *fsc)
{
	struct ceph_mds_client *mdsc = fsc->mdsc;

	dout("mdsc_destroy %p\n", mdsc);
	ceph_mdsc_stop(mdsc);

	/* flush out any connection work with references to us */
	ceph_msgr_flush();

	fsc->mdsc = NULL;
	kfree(mdsc);
	dout("mdsc_destroy %p done\n", mdsc);
}


+1 −1
Original line number Diff line number Diff line
@@ -353,7 +353,7 @@ static int ceph_show_options(struct seq_file *m, struct vfsmount *mnt)

	if (opt->name)
		seq_printf(m, ",name=%s", opt->name);
	if (opt->secret)
	if (opt->key)
		seq_puts(m, ",secret=<hidden>");

	if (opt->mount_timeout != CEPH_MOUNT_TIMEOUT_DEFAULT)
+8 −0
Original line number Diff line number Diff line
#ifndef _KEYS_CEPH_TYPE_H
#define _KEYS_CEPH_TYPE_H

#include <linux/key.h>

extern struct key_type key_type_ceph;

#endif
+2 −2
Original line number Diff line number Diff line
@@ -67,12 +67,12 @@ struct ceph_auth_client {
	bool negotiating;       /* true if negotiating protocol */
	const char *name;       /* entity name */
	u64 global_id;          /* our unique id in system */
	const char *secret;     /* our secret key */
	const struct ceph_crypto_key *key;     /* our secret key */
	unsigned want_keys;     /* which services we want */
};

extern struct ceph_auth_client *ceph_auth_init(const char *name,
					       const char *secret);
					       const struct ceph_crypto_key *key);
extern void ceph_auth_destroy(struct ceph_auth_client *ac);

extern void ceph_auth_reset(struct ceph_auth_client *ac);
+1 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ struct ceph_options {
					      pointer type of args */
	int num_mon;
	char *name;
	char *secret;
	struct ceph_crypto_key *key;
};

/*
Loading