All of lore.kernel.org
 help / color / mirror / Atom feed
* Question on fallocate/ftruncate sequence
@ 2009-07-20 16:36 Curt Wohlgemuth
  2009-07-20 22:45 ` Eric Sandeen
  0 siblings, 1 reply; 42+ messages in thread
From: Curt Wohlgemuth @ 2009-07-20 16:36 UTC (permalink / raw)
  To: ext4 development

We've recently seen some interesting behavior with ftruncate()
following a fallocate() call on ext4, and would like to know if this
is intended or not.

The sequence used from user space:

fd = open()
fallocate(fd, FALLOC_FL_KEEP_SIZE, 8MB)
write(fd, buf, 64KB)
ftruncate(fd, 64KB)
close(fd)

Since inode_setattr() only does something if the input size is not the
same as inode->i_size, the ftruncate() call above does nothing; no
blocks from the fallocate() are freed up.

Yes, removing the KEEP_SIZE flag gets the behavior I'm expecting, but
KEEP_SIZE is quite convenient in recovering from errors.

I would have thought that ftruncate() would alter i_disksize even if
this value is different from i_size.

Any comments?  I looked at other Linux file systems, and none that I
saw that support fallocate() have this issue.

Thanks,
Curt

^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2009-10-02 23:21 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-20 16:36 Question on fallocate/ftruncate sequence Curt Wohlgemuth
2009-07-20 22:45 ` Eric Sandeen
2009-07-21 21:29   ` Frank Mayhar
2009-07-21 21:54     ` Andreas Dilger
2009-07-22 16:24       ` Frank Mayhar
2009-07-22 23:10       ` Frank Mayhar
2009-07-23  3:05         ` Eric Sandeen
2009-07-23 16:27           ` Frank Mayhar
2009-07-23 17:00             ` Eric Sandeen
2009-07-23 18:05               ` Frank Mayhar
2009-07-23 21:56                 ` Andreas Dilger
2009-07-23 22:46                   ` Frank Mayhar
2009-08-28 18:42                     ` Jiaying Zhang
2009-08-28 19:40                       ` Andreas Dilger
2009-08-28 21:44                         ` Jiaying Zhang
2009-08-28 22:14                           ` Andreas Dilger
2009-08-29  0:40                             ` Jiaying Zhang
2009-08-30  2:52                               ` Theodore Tso
2009-08-31 19:40                                 ` Jiaying Zhang
2009-08-31 21:56                                   ` Andreas Dilger
2009-08-31 23:33                                     ` Jiaying Zhang
2009-09-02  8:41                                       ` Andreas Dilger
2009-09-03  5:20                                         ` Jiaying Zhang
2009-09-03  5:32                                           ` Jiaying Zhang
2009-09-24  5:27                                           ` Jiaying Zhang
2009-09-25  7:35                                             ` Andreas Dilger
2009-09-25 22:08                                               ` Jiaying Zhang
2009-09-29 19:15                                             ` Eric Sandeen
2009-09-29 19:38                                               ` Jiaying Zhang
2009-09-29 19:55                                                 ` Eric Sandeen
2009-09-30  8:10                                                   ` Andreas Dilger
2009-10-02 22:10                                                   ` Jiaying Zhang
2009-10-02 22:29                                                     ` Eric Sandeen
2009-10-02 23:21                                                       ` Jiaying Zhang
2009-07-23 19:48       ` Question on fallocate/ftruncate sequence (and flags) Frank Mayhar
2009-07-23 20:37         ` Eric Sandeen
2009-07-23 21:01           ` Frank Mayhar
2009-07-29 15:29             ` Jan Kara
2009-07-29 15:59               ` Frank Mayhar
2009-07-23 21:53           ` Andreas Dilger
2009-07-23 23:33             ` Greg Freemyer
2009-07-21 22:03   ` Question on fallocate/ftruncate sequence Eric Sandeen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.