diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2012-02-27 12:58:59 +0000 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2012-02-27 12:59:03 +0000 |
| commit | d0cdd82c6e0944df733b28f5d4cbbe97298587e4 (patch) | |
| tree | 9de205625a4657fedbfae52c65ea017beb7509a8 /net | |
| parent | 747303a383d59a4d4667152fb68293dd9ff06438 (diff) | |
| parent | 9418ba306688c0b77a8548b3281ba3d130036516 (diff) | |
Merge branch 'imx-fixes' of git://git.pengutronix.de/git/imx/linux-2.6 into next/fixes-non-critical
* 'imx-fixes' of git://git.pengutronix.de/git/imx/linux-2.6: (247 commits)
ARM: mach-imx: mx3: Fix section mismatch in imx3_init_l2x0()
ARM: imx_v4_v5_defconfig: Fix the selection of 32 bit flash support for iMX21ADS board
ARM: mach-pcm038: Fix field name of regulator_consumer_supply struct
Also includes an update to v3.3-rc3
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'net')
| -rw-r--r-- | net/ceph/ceph_common.c | 2 | ||||
| -rw-r--r-- | net/ceph/mon_client.c | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/net/ceph/ceph_common.c b/net/ceph/ceph_common.c index 97f70e50ad3b..761ad9d6cc3b 100644 --- a/net/ceph/ceph_common.c +++ b/net/ceph/ceph_common.c @@ -85,8 +85,6 @@ int ceph_check_fsid(struct ceph_client *client, struct ceph_fsid *fsid) } else { pr_info("client%lld fsid %pU\n", ceph_client_id(client), fsid); memcpy(&client->fsid, fsid, sizeof(*fsid)); - ceph_debugfs_client_init(client); - client->have_fsid = true; } return 0; } diff --git a/net/ceph/mon_client.c b/net/ceph/mon_client.c index 0b62deae42bd..1845cde26227 100644 --- a/net/ceph/mon_client.c +++ b/net/ceph/mon_client.c @@ -8,8 +8,8 @@ #include <linux/ceph/mon_client.h> #include <linux/ceph/libceph.h> +#include <linux/ceph/debugfs.h> #include <linux/ceph/decode.h> - #include <linux/ceph/auth.h> /* @@ -340,8 +340,19 @@ static void ceph_monc_handle_map(struct ceph_mon_client *monc, client->monc.monmap = monmap; kfree(old); + if (!client->have_fsid) { + client->have_fsid = true; + mutex_unlock(&monc->mutex); + /* + * do debugfs initialization without mutex to avoid + * creating a locking dependency + */ + ceph_debugfs_client_init(client); + goto out_unlocked; + } out: mutex_unlock(&monc->mutex); +out_unlocked: wake_up_all(&client->auth_wq); } |
