Hi Vladimir, "Vladimir V. Saveliev" wrote: > At the end quotacheck seems to read quota.user by 32 bytes > records. > Are lseeks calls interleaved with read calls? Yes that's right. > what are the offsets those lseeks are called with? 32 bytes. lseek(4, 10202016, SEEK_SET) = 10202016 read(4, "", 32) = 0 I'am currently right now re-testing the quota building procedure with the new 2.4.5 kernel on a 18Go partition (i had to drop down from 28Go to 17Go for my tests) In fact after stat'ing each file , quotacheck seems to build the quota.user file 32 bytes by 32 bytes: lseek(4, 30348256, SEEK_SET) = 30348256 read(4, "", 32) = 0 lseek(4, 30348256, SEEK_SET) = 30348256 write(4, "\0\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\0\0\0"..., 32) = 32 I just don't get why it takes so long. Right now the quota.user file is growing at about 18 Ko/s :-( Wait a sec.. Ok the quotacheck process has just ended cleanly :o) It took about 35 minutes to build the quota for a 17Go partition with roughly 9500 user accounts. But IMHO, it's still quite slow. Any hint to make this quota building process faster is gladly welcome :o) Thanks, Philippe