On Wed, Dec 11, 2019 at 12:00:58PM +0800, Ming Lei wrote: > I didn't reproduce the issue in my test environment, and follows > Andrea's test commands[1]: > > mount UUID=$uuid /mnt/pendrive 2>&1 |tee -a $logfile > SECONDS=0 > cp $testfile /mnt/pendrive 2>&1 |tee -a $logfile > umount /mnt/pendrive 2>&1 |tee -a $logfile > > The 'cp' command supposes to open/close the file just once, however > ext4_release_file() & write pages is observed to run for 4358 times > when executing the above 'cp' test. Why are we sure the ext4_release_file() / _fput() is coming from the cp command, as opposed to something else that might be running on the system under test? _fput() is called by the kernel when the last reference to a struct file is released. (Specifically, if you have a fd which is dup'ed, it's only when the last fd corresponding to the struct file is closed, and the struct file is about to be released, does the file system's f_ops->release function get called.) So the first question I'd ask is whether there is anything else going on the system, and whether the writes are happening to the USB thumb drive, or to some other storage device. And if there is something else which is writing to the pendrive, maybe that's why no one else has been able to reproduce the OP's complaint.... - Ted