cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [gfs2:gfs2-iopen 7/12] fs/gfs2/inode.c:167:5: error: label 'fail_put' used but not defined
@ 2020-04-17  6:13 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-04-17  6:13 UTC (permalink / raw)
  To: cluster-devel.redhat.com

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git gfs2-iopen
head:   c748e1ec9bd20d71265a148042f6bc97ffc5f343
commit: 5e2ff0b932e982c85ae75fd6872d7252627be65b [7/12] gfs2: Move inode generation number check into gfs2_inode_lookup
config: s390-defconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 5e2ff0b932e982c85ae75fd6872d7252627be65b
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=s390 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   fs/gfs2/inode.c: In function 'gfs2_inode_lookup':
>> fs/gfs2/inode.c:167:5: error: label 'fail_put' used but not defined
     167 |     goto fail_put;
         |     ^~~~

vim +/fail_put +167 fs/gfs2/inode.c

   101	
   102	/**
   103	 * gfs2_inode_lookup - Lookup an inode
   104	 * @sb: The super block
   105	 * @type: The type of the inode
   106	 * @no_addr: The inode number
   107	 * @no_formal_ino: The inode generation number
   108	 * @blktype: Requested block type (GFS2_BLKST_DINODE or GFS2_BLKST_UNLINKED;
   109	 *           GFS2_BLKST_FREE to indicate not to verify)
   110	 *
   111	 * If @type is DT_UNKNOWN, the inode type is fetched from disk.
   112	 *
   113	 * If @blktype is anything other than GFS2_BLKST_FREE (which is used as a
   114	 * placeholder because it doesn't otherwise make sense), the on-disk block type
   115	 * is verified to be @blktype.
   116	 *
   117	 * When @no_formal_ino is non-zero, this function will return ERR_PTR(-ESTALE)
   118	 * if it detects that @no_formal_ino doesn't match the actual inode generation
   119	 * number.  However, it doesn't always know unless @type is DT_UNKNOWN.
   120	 *
   121	 * Returns: A VFS inode, or an error
   122	 */
   123	
   124	struct inode *gfs2_inode_lookup(struct super_block *sb, unsigned int type,
   125					u64 no_addr, u64 no_formal_ino,
   126					unsigned int blktype)
   127	{
   128		struct inode *inode;
   129		struct gfs2_inode *ip;
   130		struct gfs2_glock *io_gl = NULL;
   131		struct gfs2_holder i_gh;
   132		int error;
   133	
   134		gfs2_holder_mark_uninitialized(&i_gh);
   135		inode = gfs2_iget(sb, no_addr);
   136		if (!inode)
   137			return ERR_PTR(-ENOMEM);
   138	
   139		ip = GFS2_I(inode);
   140	
   141		if (inode->i_state & I_NEW) {
   142			struct gfs2_sbd *sdp = GFS2_SB(inode);
   143	
   144			error = gfs2_glock_get(sdp, no_addr, &gfs2_inode_glops, CREATE, &ip->i_gl);
   145			if (unlikely(error))
   146				goto fail;
   147			flush_delayed_work(&ip->i_gl->gl_work);
   148	
   149			error = gfs2_glock_get(sdp, no_addr, &gfs2_iopen_glops, CREATE, &io_gl);
   150			if (unlikely(error))
   151				goto fail;
   152	
   153			if (type == DT_UNKNOWN || blktype != GFS2_BLKST_FREE) {
   154				/*
   155				 * The GL_SKIP flag indicates to skip reading the inode
   156				 * block.  We read the inode with gfs2_inode_refresh
   157				 * after possibly checking the block type.
   158				 */
   159				error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE,
   160							   GL_SKIP, &i_gh);
   161				if (error)
   162					goto fail;
   163	
   164				error = -ESTALE;
   165				if (no_formal_ino &&
   166				    gfs2_inode_already_deleted(ip->i_gl, no_formal_ino))
 > 167					goto fail_put;
   168	
   169				if (blktype != GFS2_BLKST_FREE) {
   170					error = gfs2_check_blk_type(sdp, no_addr,
   171								    blktype);
   172					if (error)
   173						goto fail;
   174				}
   175			}
   176	
   177			glock_set_object(ip->i_gl, ip);
   178			set_bit(GIF_INVALID, &ip->i_flags);
   179			error = gfs2_glock_nq_init(io_gl, LM_ST_SHARED, GL_EXACT, &ip->i_iopen_gh);
   180			if (unlikely(error))
   181				goto fail;
   182			cancel_delayed_work_sync(&ip->i_iopen_gh.gh_gl->gl_delete);
   183			glock_set_object(ip->i_iopen_gh.gh_gl, ip);
   184			gfs2_glock_put(io_gl);
   185			io_gl = NULL;
   186	
   187			/* Lowest possible timestamp; will be overwritten in gfs2_dinode_in. */
   188			inode->i_atime.tv_sec = 1LL << (8 * sizeof(inode->i_atime.tv_sec) - 1);
   189			inode->i_atime.tv_nsec = 0;
   190	
   191			if (type == DT_UNKNOWN) {
   192				/* Inode glock must be locked already */
   193				error = gfs2_inode_refresh(GFS2_I(inode));
   194				if (error)
   195					goto fail;
   196			} else {
   197				ip->i_no_formal_ino = no_formal_ino;
   198				inode->i_mode = DT2IF(type);
   199			}
   200	
   201			if (gfs2_holder_initialized(&i_gh))
   202				gfs2_glock_dq_uninit(&i_gh);
   203	
   204			gfs2_set_iop(inode);
   205		}
   206	
   207		if (no_formal_ino && ip->i_no_formal_ino &&
   208		    no_formal_ino != ip->i_no_formal_ino) {
   209			if (inode->i_state & I_NEW)
   210				goto fail;
   211			iput(inode);
   212			return ERR_PTR(-ESTALE);
   213		}
   214	
   215		if (inode->i_state & I_NEW)
   216			unlock_new_inode(inode);
   217	
   218		return inode;
   219	
   220	fail:
   221		if (io_gl)
   222			gfs2_glock_put(io_gl);
   223		if (gfs2_holder_initialized(&i_gh))
   224			gfs2_glock_dq_uninit(&i_gh);
   225		iget_failed(inode);
   226		return ERR_PTR(error);
   227	}
   228	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all at lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 19349 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20200417/096c38cd/attachment.gz>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-04-17  6:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-17  6:13 [Cluster-devel] [gfs2:gfs2-iopen 7/12] fs/gfs2/inode.c:167:5: error: label 'fail_put' used but not defined kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).