[Ocfs2-devel] fs/ocfs2/super.c:1809 ocfs2_mount_volume() warn: missing error code 'status'

Joseph Qi joseph.qi at linux.alibaba.com
Mon Apr 3 11:07:37 UTC 2023


Hi,
IIRC, we've discussed this before.
Success return is expected in case of 'hard readonly'.
So this a false positive report.

Thanks,
Joseph

On 4/3/23 2:14 PM, Dan Carpenter wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   7b50567bdcad8925ca1e075feb7171c12015afd1
> commit: 0737e01de9c411e4db87dcedf4a9789d41b1c5c1 ocfs2: ocfs2_mount_volume does cleanup job before return error
> config: arm64-randconfig-m041-20230329 (https://download.01.org/0day-ci/archive/20230401/202304012244.gX4H4rBO-lkp@intel.com/config)
> compiler: aarch64-linux-gcc (GCC) 12.1.0
> 
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <lkp at intel.com>
> | Reported-by: Dan Carpenter <error27 at gmail.com>
> | Link: https://lore.kernel.org/r/202304012244.gX4H4rBO-lkp@intel.com/
> 
> smatch warnings:
> fs/ocfs2/super.c:1809 ocfs2_mount_volume() warn: missing error code 'status'
> 
> vim +/status +1809 fs/ocfs2/super.c
> 
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1803  static int ocfs2_mount_volume(struct super_block *sb)
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1804  {
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1805  	int status = 0;
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1806  	struct ocfs2_super *osb = OCFS2_SB(sb);
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1807  
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1808  	if (ocfs2_is_hard_readonly(osb))
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29 @1809  		goto out;
> 
> Hard to tell if this should be an error path or not...  Canonical
> problem with do nothing gotos.
> 
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1810  
> 5500ab4ed3b8f0 Gang He                     2019-03-05  1811  	mutex_init(&osb->obs_trim_fs_mutex);
> 5500ab4ed3b8f0 Gang He                     2019-03-05  1812  
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1813  	status = ocfs2_dlm_init(osb);
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1814  	if (status < 0) {
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1815  		mlog_errno(status);
> a52370b3b182f7 Gang He                     2018-01-31  1816  		if (status == -EBADR && ocfs2_userspace_stack(osb))
> a52370b3b182f7 Gang He                     2018-01-31  1817  			mlog(ML_ERROR, "couldn't mount because cluster name on"
> a52370b3b182f7 Gang He                     2018-01-31  1818  			" disk does not match the running cluster name.\n");
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1819  		goto out;
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1820  	}
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1821  
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1822  	status = ocfs2_super_lock(osb, 1);
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1823  	if (status < 0) {
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1824  		mlog_errno(status);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1825  		goto out_dlm;
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1826  	}
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1827  
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1828  	/* This will load up the node map and add ourselves to it. */
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1829  	status = ocfs2_find_slot(osb);
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1830  	if (status < 0) {
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1831  		mlog_errno(status);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1832  		goto out_super_lock;
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1833  	}
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1834  
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1835  	/* load all node-local system inodes */
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1836  	status = ocfs2_init_local_system_inodes(osb);
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1837  	if (status < 0) {
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1838  		mlog_errno(status);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1839  		goto out_super_lock;
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1840  	}
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1841  
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1842  	status = ocfs2_check_volume(osb);
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1843  	if (status < 0) {
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1844  		mlog_errno(status);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1845  		goto out_system_inodes;
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1846  	}
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1847  
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1848  	status = ocfs2_truncate_log_init(osb);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1849  	if (status < 0) {
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1850  		mlog_errno(status);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1851  		goto out_system_inodes;
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1852  	}
> c271c5c22b0a7c Sunil Mushran               2006-12-05  1853  
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1854  	ocfs2_super_unlock(osb, 1);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1855  	return 0;
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1856  
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1857  out_system_inodes:
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1858  	if (osb->local_alloc_state == OCFS2_LA_ENABLED)
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1859  		ocfs2_shutdown_local_alloc(osb);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1860  	ocfs2_release_system_inodes(osb);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1861  	/* before journal shutdown, we should release slot_info */
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1862  	ocfs2_free_slot_info(osb);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1863  	ocfs2_journal_shutdown(osb);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1864  out_super_lock:
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1865  	ocfs2_super_unlock(osb, 1);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1866  out_dlm:
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1867  	ocfs2_dlm_shutdown(osb, 0);
> 0737e01de9c411 Heming Zhao via Ocfs2-devel 2022-04-29  1868  out:
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1869  	return status;
> ccd979bdbce9fb Mark Fasheh                 2005-12-15  1870  }
> 



More information about the Ocfs2-devel mailing list