Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.5.75 /fs/buffer.c

Filename:/fs/buffer.c
Lines Added:15
Lines Deleted:0
Also changed in: (Previous) 2.5.74-bk7  2.5.74-bk6  2.5.74-bk5  2.5.74-bk4  2.5.74-bk3  2.5.74-bk2 
(Following) 2.5.75-bk1  2.5.75-bk2  2.5.75-bk3 

Location
[  2.5.75
  [  fs
     o  buffer.c

Patch

diff -Nru a/fs/buffer.c b/fs/buffer.c
--- a/fs/buffer.c   Thu Jul 10 13:16:27 2003
+++ b/fs/buffer.c   Thu Jul 10 13:16:27 2003
@@ -319,6 +319,7 @@
 
    /* We need to protect against concurrent writers.. */
    down(&inode->i_sem);
+   current->flags |= PF_SYNCWRITE;
    ret = filemap_fdatawrite(inode->i_mapping);
    err = file->f_op->fsync(file, dentry, 0);
    if (!ret)
@@ -326,6 +327,7 @@
    err = filemap_fdatawait(inode->i_mapping);
    if (!ret)
       ret = err;
+   current->flags &= ~PF_SYNCWRITE;
    up(&inode->i_sem);
 
 out_putf:
@@ -354,6 +356,7 @@
       goto out_putf;
 
    down(&inode->i_sem);
+   current->flags |= PF_SYNCWRITE;
    ret = filemap_fdatawrite(inode->i_mapping);
    err = file->f_op->fsync(file, dentry, 1);
    if (!ret)
@@ -361,6 +364,7 @@
    err = filemap_fdatawait(inode->i_mapping);
    if (!ret)
       ret = err;
+   current->flags &= ~PF_SYNCWRITE;
    up(&inode->i_sem);
 
 out_putf:
@@ -1446,6 +1450,17 @@
    return bh;
 }
 EXPORT_SYMBOL(__getblk);
+
+/*
+ * Do async read-ahead on a buffer..
+ */
+void __breadahead(struct block_device *bdev, sector_t block, int size)
+{
+   struct buffer_head *bh = __getblk(bdev, block, size);
+   ll_rw_block(READA, 1, &bh);
+   brelse(bh);
+}
+EXPORT_SYMBOL(__breadahead);
 
 /**
  *  __bread() - reads a specified block and returns the bh


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.