Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 May 2013 17:17:22 +0000 (UTC)
From:      Scott Long <scottl@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r251145 - in stable/9/sys: kern sys
Message-ID:  <201305301717.r4UHHMub075329@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 **);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305301717.r4UHHMub075329>