Question: I have a road network as line layer and a land cover as polygon layer, I want to find number of subpolygon for each polygon that divided by line layer in QGIS? 
I used union function in Geoprocessing Tools in Vector menu of QGIS and then polygonize function to convert union result to polygon but in table of new polygon there is NULL data.

Answer: 
You can use `Polygon-line intersection tool` located under `Processing toolbox -> SAGA -> Vector polygon tools -> Polygon-line intersection`, and do the following steps:

Example
[![enter image description here](https://i.stack.imgur.com/jFNL1.png)](https://i.stack.imgur.com/jFNL1.png)

* Select the lines (the lines should cover the polygon from edge to edge).

[![enter image description here](https://i.stack.imgur.com/UvNm5.png)](https://i.stack.imgur.com/UvNm5.png)

* Go to Polygon-line intersection tool

[![enter image description here](https://i.stack.imgur.com/rZBM8.png)](https://i.stack.imgur.com/rZBM8.png)
 - Under `Polygons` Input the polygon layer
 - Under `Lines` input the line layer
 - Save the output file
 - Click OK

[![enter image description here](https://i.stack.imgur.com/alHps.png)](https://i.stack.imgur.com/alHps.png)

If the line does not cover the polygon from edge to edge, it will not split the polygon

Invalid line (input):

[![enter image description here](https://i.stack.imgur.com/MUTTq.png)](https://i.stack.imgur.com/MUTTq.png)

Output (Nothing happened):

[![enter image description here](https://i.stack.imgur.com/vaW4j.png)](https://i.stack.imgur.com/vaW4j.png)
A manual option would be to use the Auto Trace plugin (<https://plugins.qgis.org/plugins/autoTrace/>).

Create a new polygon layer, make sure to set your snapping options (Settings> Snapping Options> Snapping Mode: "All Layers"; Snap To: "Vertex & Segment; Tolerance: I usually do 15 pixels), and then trace each polygon outlined by your road network lines and land cover polygon.

As for another, more automated method, I am unaware!