Jaegeuk, I've check that, it's OK to me, thank you! ;)

thanks,

On 2017/8/8 10:49, Jaegeuk Kim wrote:
> I've uploaded a fixed one in dev-test.
> 
> Chao, could you check that?
> (I just added #ifdef.)
> 
> Thanks,
> 
> On 08/08, kbuild test robot wrote:
>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git 
>> dev-test
>> head:   aced2c62005622672a7b96135389f45766f4ed1a
>> commit: aced2c62005622672a7b96135389f45766f4ed1a [31/31] f2fs: support 
>> journalled quota
>> config: i386-randconfig-x009-08071050 (attached as .config)
>> compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
>> reproduce:
>>         git checkout aced2c62005622672a7b96135389f45766f4ed1a
>>         # save the attached .config to linux build tree
>>         make ARCH=i386 
>>
>> All errors (new ones prefixed by >>):
>>
>>    fs//f2fs/super.c: In function 'parse_options':
>>    fs//f2fs/super.c:302:6: warning: unused variable 'ret' [-Wunused-variable]
>>      int ret;
>>          ^~~
>>    fs//f2fs/super.c: In function 'f2fs_remount':
>>>> fs//f2fs/super.c:1263:7: error: 'i' undeclared (first use in this function)
>>      for (i = 0; i < MAXQUOTAS; i++)
>>           ^
>>    fs//f2fs/super.c:1263:7: note: each undeclared identifier is reported 
>> only once for each function it appears in
>>>> fs//f2fs/super.c:1264:9: error: 's_qf_names' undeclared (first use in this 
>>>> function)
>>       kfree(s_qf_names[i]);
>>             ^~~~~~~~~~
>>
>> vim +/s_qf_names +1264 fs//f2fs/super.c
>>
>>   1179       
>>   1180               /* recover superblocks we couldn't write due to 
>> previous RO mount */
>>   1181               if (!(*flags & MS_RDONLY) && is_sbi_flag_set(sbi, 
>> SBI_NEED_SB_WRITE)) {
>>   1182                       err = f2fs_commit_super(sbi, false);
>>   1183                       f2fs_msg(sb, KERN_INFO,
>>   1184                               "Try to recover all the superblocks, 
>> ret: %d", err);
>>   1185                       if (!err)
>>   1186                               clear_sbi_flag(sbi, SBI_NEED_SB_WRITE);
>>   1187               }
>>   1188       
>>   1189               default_options(sbi);
>>   1190       
>>   1191               /* parse mount options */
>>   1192               err = parse_options(sb, data);
>>   1193               if (err)
>>   1194                       goto restore_opts;
>>   1195       
>>   1196               /*
>>   1197                * Previous and new state of filesystem is RO,
>>   1198                * so skip checking GC and FLUSH_MERGE conditions.
>>   1199                */
>>   1200               if (f2fs_readonly(sb) && (*flags & MS_RDONLY))
>>   1201                       goto skip;
>>   1202       
>>   1203               if (!f2fs_readonly(sb) && (*flags & MS_RDONLY)) {
>>   1204                       err = dquot_suspend(sb, -1);
>>   1205                       if (err < 0)
>>   1206                               goto restore_opts;
>>   1207               } else {
>>   1208                       /* dquot_resume needs RW */
>>   1209                       sb->s_flags &= ~MS_RDONLY;
>>   1210                       dquot_resume(sb, -1);
>>   1211               }
>>   1212       
>>   1213               /* disallow enable/disable extent_cache dynamically */
>>   1214               if (no_extent_cache == !!test_opt(sbi, EXTENT_CACHE)) {
>>   1215                       err = -EINVAL;
>>   1216                       f2fs_msg(sbi->sb, KERN_WARNING,
>>   1217                                       "switch extent_cache option is 
>> not allowed");
>>   1218                       goto restore_opts;
>>   1219               }
>>   1220       
>>   1221               /*
>>   1222                * We stop the GC thread if FS is mounted as RO
>>   1223                * or if background_gc = off is passed in mount
>>   1224                * option. Also sync the filesystem.
>>   1225                */
>>   1226               if ((*flags & MS_RDONLY) || !test_opt(sbi, BG_GC)) {
>>   1227                       if (sbi->gc_thread) {
>>   1228                               stop_gc_thread(sbi);
>>   1229                               need_restart_gc = true;
>>   1230                       }
>>   1231               } else if (!sbi->gc_thread) {
>>   1232                       err = start_gc_thread(sbi);
>>   1233                       if (err)
>>   1234                               goto restore_opts;
>>   1235                       need_stop_gc = true;
>>   1236               }
>>   1237       
>>   1238               if (*flags & MS_RDONLY) {
>>   1239                       writeback_inodes_sb(sb, WB_REASON_SYNC);
>>   1240                       sync_inodes_sb(sb);
>>   1241       
>>   1242                       set_sbi_flag(sbi, SBI_IS_DIRTY);
>>   1243                       set_sbi_flag(sbi, SBI_IS_CLOSE);
>>   1244                       f2fs_sync_fs(sb, 1);
>>   1245                       clear_sbi_flag(sbi, SBI_IS_CLOSE);
>>   1246               }
>>   1247       
>>   1248               /*
>>   1249                * We stop issue flush thread if FS is mounted as RO
>>   1250                * or if flush_merge is not passed in mount option.
>>   1251                */
>>   1252               if ((*flags & MS_RDONLY) || !test_opt(sbi, 
>> FLUSH_MERGE)) {
>>   1253                       clear_opt(sbi, FLUSH_MERGE);
>>   1254                       destroy_flush_cmd_control(sbi, false);
>>   1255               } else {
>>   1256                       err = create_flush_cmd_control(sbi);
>>   1257                       if (err)
>>   1258                               goto restore_gc;
>>   1259               }
>>   1260       skip:
>>   1261       
>>   1262               /* Release old quota file names */
>>> 1263                for (i = 0; i < MAXQUOTAS; i++)
>>> 1264                        kfree(s_qf_names[i]);
>>   1265       
>>   1266               /* Update the POSIXACL Flag */
>>   1267               sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
>>   1268                       (test_opt(sbi, POSIX_ACL) ? MS_POSIXACL : 0);
>>   1269       
>>   1270               return 0;
>>   1271       restore_gc:
>>   1272               if (need_restart_gc) {
>>   1273                       if (start_gc_thread(sbi))
>>   1274                               f2fs_msg(sbi->sb, KERN_WARNING,
>>   1275                                       "background gc thread has 
>> stopped");
>>   1276               } else if (need_stop_gc) {
>>   1277                       stop_gc_thread(sbi);
>>   1278               }
>>   1279       restore_opts:
>>   1280       #ifdef CONFIG_QUOTA
>>   1281               sbi->s_jquota_fmt = s_jquota_fmt;
>>   1282               for (i = 0; i < MAXQUOTAS; i++) {
>>   1283                       kfree(sbi->s_qf_names[i]);
>>   1284                       sbi->s_qf_names[i] = s_qf_names[i];
>>   1285               }
>>   1286       #endif
>>   1287               sbi->mount_opt = org_mount_opt;
>>   1288               sbi->active_logs = active_logs;
>>   1289               sb->s_flags = old_sb_flags;
>>   1290       #ifdef CONFIG_F2FS_FAULT_INJECTION
>>   1291               sbi->fault_info = ffi;
>>   1292       #endif
>>   1293               return err;
>>   1294       }
>>   1295       
>>
>> ---
>> 0-DAY kernel test infrastructure                Open Source Technology Center
>> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> 
> 
> 
> .
> 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to