Re: [PATCH v3] fat: editions to support fat_fallocate

2013-03-12 Thread Namjae Jeon
2013/3/12, OGAWA Hirofumi : > Namjae Jeon writes: > >>> If so, probably, I didn't clear my opinion/suggestion, or misled >>> you. Sorry about it. >>> >>> My opinion/suggestion is, "it should be before umount()". >>> I.e. fallocate() doesn't have any affect to FAT on clean state (clean >>> umount).

Re: [PATCH v3] fat: editions to support fat_fallocate

2013-03-12 Thread OGAWA Hirofumi
Namjae Jeon writes: >> If so, probably, I didn't clear my opinion/suggestion, or misled >> you. Sorry about it. >> >> My opinion/suggestion is, "it should be before umount()". >> I.e. fallocate() doesn't have any affect to FAT on clean state (clean >> umount). >> >> To clear my state, I don't hav

Re: [PATCH v3] fat: editions to support fat_fallocate

2013-03-12 Thread Namjae Jeon
2013/3/12, OGAWA Hirofumi : > Namjae Jeon writes: > >>> This choose ->release(). BTW, we would also be able to do this only >>> ->evict_inode(), although I'm not thinking yet which one is better. >>> >>> If you had conclusion, it would be nice to explain it. >> evict_inode() will be called only wh

Re: [PATCH v3] fat: editions to support fat_fallocate

2013-03-11 Thread OGAWA Hirofumi
Namjae Jeon writes: >> This choose ->release(). BTW, we would also be able to do this only >> ->evict_inode(), although I'm not thinking yet which one is better. >> >> If you had conclusion, it would be nice to explain it. > evict_inode() will be called only when we unlink the file or if inode >

Re: [PATCH v3] fat: editions to support fat_fallocate

2013-03-11 Thread Namjae Jeon
2013/3/9, OGAWA Hirofumi : > Namjae Jeon writes: > >> static int fat_file_release(struct inode *inode, struct file *filp) >> { >> +struct super_block *sb = inode->i_sb; >> +loff_t mmu_private_ideal = (inode->i_size + (sb->s_blocksize-1)) & >> +~(sb->s_bloc

Re: [PATCH v3] fat: editions to support fat_fallocate

2013-03-11 Thread Namjae Jeon
Hi. Andrew. >> >> static int fat_file_release(struct inode *inode, struct file *filp) >> { >> +struct super_block *sb = inode->i_sb; >> +loff_t mmu_private_ideal = (inode->i_size + (sb->s_blocksize-1)) & >> +~(sb->s_blocksize-1); > > Stylistically, it looks

Re: [PATCH v3] fat: editions to support fat_fallocate

2013-03-09 Thread OGAWA Hirofumi
Namjae Jeon writes: > static int fat_file_release(struct inode *inode, struct file *filp) > { > + struct super_block *sb = inode->i_sb; > + loff_t mmu_private_ideal = (inode->i_size + (sb->s_blocksize-1)) & > + ~(sb->s_blocksize-1); > + if (mmu_privat

Re: [PATCH v3] fat: editions to support fat_fallocate

2013-03-08 Thread Andrew Morton
On Thu, 7 Mar 2013 22:56:57 +0900 Namjae Jeon wrote: > From: Namjae Jeon > > Implement preallocation via the fallocate syscall on VFAT partitions. > > Change Log: > v3: Release preallocated blocks at file release. > > With FALLOC_FL_KEEP_SIZE, there is no way to distinguish if the mismatch >

[PATCH v3] fat: editions to support fat_fallocate

2013-03-07 Thread Namjae Jeon
From: Namjae Jeon Implement preallocation via the fallocate syscall on VFAT partitions. Change Log: v3: Release preallocated blocks at file release. With FALLOC_FL_KEEP_SIZE, there is no way to distinguish if the mismatch between i_size and no. of clusters allocated is a consequence of fallocat