module/blobfs: fix segmentation fault when fuse mount fail
if mountpoint doesn't exist, fuse mount will fail and @bfuse will be null, blobfs_fuse_stop() try to access it without check which cause segmentation finally. Patch also improve test messages output to include terminator properly. Signed-off-by: Wang Shilong <wangshilong1991@gmail.com> Change-Id: Idba23e3922778f1985d1f4841a1701cdc272ef17 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3863 Community-CI: Mellanox Build Bot Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
09d6e90a9a
commit
78ba12ecf4
@ -353,6 +353,8 @@ err:
|
|||||||
void
|
void
|
||||||
blobfs_fuse_stop(struct spdk_blobfs_fuse *bfuse)
|
blobfs_fuse_stop(struct spdk_blobfs_fuse *bfuse)
|
||||||
{
|
{
|
||||||
fuse_session_exit(fuse_get_session(bfuse->fuse_handle));
|
if (bfuse) {
|
||||||
pthread_kill(bfuse->fuse_tid, SIGINT);
|
fuse_session_exit(fuse_get_session(bfuse->fuse_handle));
|
||||||
|
pthread_kill(bfuse->fuse_tid, SIGINT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ static void
|
|||||||
fuse_run_cb(void *cb_arg, int fserrno)
|
fuse_run_cb(void *cb_arg, int fserrno)
|
||||||
{
|
{
|
||||||
if (fserrno) {
|
if (fserrno) {
|
||||||
printf("Failed to mount filesystem on bdev %s to path %s: %s",
|
printf("Failed to mount filesystem on bdev %s to path %s: %s\n",
|
||||||
g_bdev_name, g_mountpoint, spdk_strerror(fserrno));
|
g_bdev_name, g_mountpoint, spdk_strerror(fserrno));
|
||||||
|
|
||||||
spdk_app_stop(0);
|
spdk_app_stop(0);
|
||||||
@ -69,7 +69,7 @@ fuse_run_cb(void *cb_arg, int fserrno)
|
|||||||
static void
|
static void
|
||||||
spdk_fuse_run(void *arg1)
|
spdk_fuse_run(void *arg1)
|
||||||
{
|
{
|
||||||
printf("Mounting filesystem on bdev %s to path %s...",
|
printf("Mounting filesystem on bdev %s to path %s...\n",
|
||||||
g_bdev_name, g_mountpoint);
|
g_bdev_name, g_mountpoint);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user