lkml.org 
[lkml]   [2003]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectPatch FIOFLUSH

Here's a patch against 2.4.18 that allows user space to flush a file
from both the buffer cache and the page cache. The reason for flushing
a file from the caches is to the read the file again to verify it made
it to more permanent storage correctly. Someone may want to add
similiar code to 2.5.

Ross

diff -urdbB linux-2.4.18-58/fs/ioctl.c linux-2.4.18-59/fs/ioctl.c
--- linux-2.4.18-58/fs/ioctl.c Fri Feb 9 11:29:44 2001
+++ linux-2.4.18-59/fs/ioctl.c Thu May 1 09:52:18 2003
@@ -39,6 +39,13 @@
return put_user(inode->i_sb->s_blocksize, (int *) arg);
case FIONREAD:
return put_user(inode->i_size - filp->f_pos, (int *) arg);
+
+ case FIOFLUSH:
+ write_inode_now(inode, 1);
+ invalidate_inode_buffers(inode);
+ invalidate_inode_pages(inode);
+ return 0;
+
}
if (filp->f_op && filp->f_op->ioctl)
return filp->f_op->ioctl(inode, filp, cmd, arg);
diff -urdbB linux-2.4.18-58/include/asm/ioctls.h linux-2.4.18-59/include/asm/ioctls.h
--- linux-2.4.18-58/include/asm-i386/ioctls.h Fri Jul 24 11:10:16 1998
+++ linux-2.4.18-59/include/asm-i386/ioctls.h Thu May 1 09:53:51 2003
@@ -32,6 +32,7 @@
#define TIOCGSOFTCAR 0x5419
#define TIOCSSOFTCAR 0x541A
#define FIONREAD 0x541B
+#define FIOFLUSH _IO('F', 1) /* flush a file out of the caches */
#define TIOCINQ FIONREAD
#define TIOCLINUX 0x541C
#define TIOCCONS 0x541D
\
 
 \ /
  Last update: 2005-03-22 13:35    [W:0.028 / U:0.324 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site