On Wed, Sep 07, 2016 at 10:09:58PM +0200, Marcin wrote: > Hi! > I'm aware that performance doesn't have high priority, it's something for > TODO. > I created bcachefs on ~10GB partition, copied some files and next I created > huge number of directories and files. Problem is in the total time needed > for mounting filesystem. > # time mount -t bcache /dev/sde1 /mnt/test/ > > real 12m20.880s > user 0m0.000s > sys 1m18.270s Oh damn, guess it's time to start working on mount time... I knew this was going to be an issue sooner or later, but 12 minutes is impressive :) > I looked at iostat, mounting needs to read from disk 10083588 "kB_read". > Device has size 10485760kB, so it looks that it reads almost the same amount > of data as partition size. Maybe mount time can be lower? Maybe there can be > less reads or reads could be more sequential? So, right now we're checking i_nlinks on every mount - mainly the dirents implementation predates the transactional machinery we have now. That's almost definitely what's taking so long, but I'll send you a patch to confirm later. It shouldn't take that much work to make the relevant filesystem code transactional, I'll bump that up on the todo list... -- To unsubscribe from this list: send the line "unsubscribe linux-bcache" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html