Просмотр исходного кода

ceph: fix snap context leak in error path

Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng 10 лет назад
Родитель
Сommit
db6aed7023
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      fs/ceph/file.c

+ 1 - 1
fs/ceph/file.c

@@ -716,7 +716,6 @@ static void ceph_aio_retry_work(struct work_struct *work)
 	ceph_osdc_build_request(req, req->r_ops[0].extent.offset,
 	ceph_osdc_build_request(req, req->r_ops[0].extent.offset,
 				snapc, CEPH_NOSNAP, &aio_req->mtime);
 				snapc, CEPH_NOSNAP, &aio_req->mtime);
 
 
-	ceph_put_snap_context(snapc);
 	ceph_osdc_put_request(orig_req);
 	ceph_osdc_put_request(orig_req);
 
 
 	req->r_callback = ceph_aio_complete_req;
 	req->r_callback = ceph_aio_complete_req;
@@ -731,6 +730,7 @@ static void ceph_aio_retry_work(struct work_struct *work)
 		ceph_aio_complete_req(req, NULL);
 		ceph_aio_complete_req(req, NULL);
 	}
 	}
 
 
+	ceph_put_snap_context(snapc);
 	kfree(aio_work);
 	kfree(aio_work);
 }
 }