[vfs:work.dcache 4/11] fs//ceph/dir.c:1258:33: error: expected identifier before '&' token

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://kernel.googlesource.com/pub/scm/linux/kernel/git/viro/vfs.git work.dcache
head:   e50d966a90a5dba0be0bb0ba34a478c797ac929f
commit: 14909c0b28db6df6b3fe86568a163acab07c643d [4/11] ceph: don't open-code the check for dead lockref
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.4.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 14909c0b28db6df6b3fe86568a163acab07c643d
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=ia64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   fs//ceph/dir.c: In function '__dentry_leases_walk':
>> fs//ceph/dir.c:1258:33: error: expected identifier before '&' token
      if (__lockref_is_dead(dentry->&d_lockref)) {
                                    ^

vim +1258 fs//ceph/dir.c

  1231	
  1232	static unsigned long
  1233	__dentry_leases_walk(struct ceph_mds_client *mdsc,
  1234			     struct ceph_lease_walk_control *lwc,
  1235			     int (*check)(struct dentry*, void*))
  1236	{
  1237		struct ceph_dentry_info *di, *tmp;
  1238		struct dentry *dentry, *last = NULL;
  1239		struct list_head* list;
  1240	        LIST_HEAD(dispose);
  1241		unsigned long freed = 0;
  1242		int ret = 0;
  1243	
  1244		list = lwc->dir_lease ? &mdsc->dentry_dir_leases : &mdsc->dentry_leases;
  1245		spin_lock(&mdsc->dentry_list_lock);
  1246		list_for_each_entry_safe(di, tmp, list, lease_list) {
  1247			if (!lwc->nr_to_scan)
  1248				break;
  1249			--lwc->nr_to_scan;
  1250	
  1251			dentry = di->dentry;
  1252			if (last == dentry)
  1253				break;
  1254	
  1255			if (!spin_trylock(&dentry->d_lock))
  1256				continue;
  1257	
> 1258			if (__lockref_is_dead(dentry->&d_lockref)) {
  1259				list_del_init(&di->lease_list);
  1260				goto next;
  1261			}
  1262	
  1263			ret = check(dentry, lwc);
  1264			if (ret & TOUCH) {
  1265				/* move it into tail of dir lease list */
  1266				__dentry_dir_lease_touch(mdsc, di);
  1267				if (!last)
  1268					last = dentry;
  1269			}
  1270			if (ret & DELETE) {
  1271				/* stale lease */
  1272				di->flags &= ~CEPH_DENTRY_REFERENCED;
  1273				if (dentry->d_lockref.count > 0) {
  1274					/* update_dentry_lease() will re-add
  1275					 * it to lease list, or
  1276					 * ceph_d_delete() will return 1 when
  1277					 * last reference is dropped */
  1278					list_del_init(&di->lease_list);
  1279				} else {
  1280					di->flags |= CEPH_DENTRY_SHRINK_LIST;
  1281					list_move_tail(&di->lease_list, &dispose);
  1282					dget_dlock(dentry);
  1283				}
  1284			}
  1285	next:
  1286			spin_unlock(&dentry->d_lock);
  1287			if (ret & STOP)
  1288				break;
  1289		}
  1290		spin_unlock(&mdsc->dentry_list_lock);
  1291	
  1292		while (!list_empty(&dispose)) {
  1293			di = list_first_entry(&dispose, struct ceph_dentry_info,
  1294					      lease_list);
  1295			dentry = di->dentry;
  1296			spin_lock(&dentry->d_lock);
  1297	
  1298			list_del_init(&di->lease_list);
  1299			di->flags &= ~CEPH_DENTRY_SHRINK_LIST;
  1300			if (di->flags & CEPH_DENTRY_REFERENCED) {
  1301				spin_lock(&mdsc->dentry_list_lock);
  1302				if (di->flags & CEPH_DENTRY_LEASE_LIST) {
  1303					list_add_tail(&di->lease_list,
  1304						      &mdsc->dentry_leases);
  1305				} else {
  1306					__dentry_dir_lease_touch(mdsc, di);
  1307				}
  1308				spin_unlock(&mdsc->dentry_list_lock);
  1309			} else {
  1310				freed++;
  1311			}
  1312	
  1313			spin_unlock(&dentry->d_lock);
  1314			/* ceph_d_delete() does the trick */
  1315			dput(dentry);
  1316		}
  1317		return freed;
  1318	}
  1319	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux