Author: scottl
Date: Thu May 30 17:17:22 2013
New Revision: 251145
URL: http://svnweb.freebsd.org/changeset/base/251145

Log:
  MFC r248504:
  
        Add a convenience macro bread_gb() to wrap a call to
        breadn_flags(). Comparing with bread(), it adds an argument to pass
        the flags to getblk().
  
  The API implementation of bread() and friends is different in FreeBSD 9,
  so this merge is a little more complicated than the original commit.
  
  Submitted by: kib, FF
  Obtained from:        Netflix

Modified:
  stable/9/sys/kern/vfs_bio.c
  stable/9/sys/sys/buf.h
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/sys/   (props changed)

Modified: stable/9/sys/kern/vfs_bio.c
==============================================================================
--- stable/9/sys/kern/vfs_bio.c Thu May 30 16:51:48 2013        (r251144)
+++ stable/9/sys/kern/vfs_bio.c Thu May 30 17:17:22 2013        (r251145)
@@ -833,6 +833,18 @@ breada(struct vnode * vp, daddr_t * rabl
 }
 
 /*
+ * Operates like bread, but with getblk flags.
+ */
+int
+bread_gb(struct vnode * vp, daddr_t blkno, int cnt, struct ucred * cred,
+    int gbflags, struct buf **bpp)
+{
+
+       return (breadn_flags(vp, blkno, cnt, NULL, NULL, 0,
+                   cred, gbflags, bpp));
+}
+
+/*
  * Operates like bread, but also starts asynchronous I/O on
  * read-ahead blocks.
  */

Modified: stable/9/sys/sys/buf.h
==============================================================================
--- stable/9/sys/sys/buf.h      Thu May 30 16:51:48 2013        (r251144)
+++ stable/9/sys/sys/buf.h      Thu May 30 17:17:22 2013        (r251145)
@@ -484,6 +484,8 @@ int buf_dirty_count_severe(void);
 void   bremfree(struct buf *);
 void   bremfreef(struct buf *);        /* XXX Force bremfree, only for nfs. */
 int    bread(struct vnode *, daddr_t, int, struct ucred *, struct buf **);
+int     bread_gb(struct vnode *, daddr_t, int, struct ucred *,
+           int gbflags, struct buf **);
 void   breada(struct vnode *, daddr_t *, int *, int, struct ucred *);
 int    breadn(struct vnode *, daddr_t, int, daddr_t *, int *, int,
            struct ucred *, struct buf **);
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to