Print this page
5914 pipe generates inodes with ino > 4G
@@ -20,10 +20,13 @@
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/*
* Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Copyright 2017 Ivan Richwalski <ivan@seppuku.net>
+ *
*/
/*
* The routines defined in this file are supporting routines for FIFOFS
* file system type.
@@ -550,16 +553,17 @@
nvp2->v_rdev = fifodev;
}
/*
* Attempt to establish a unique pipe id. Only un-named pipes use this
- * routine.
+ * routine. Use a 32-bit ino_t so any 32-bit processes that aren't large
+ * file aware can still stat() a pipe fd and not fail with EOVERFLOW.
*/
ino_t
fifogetid(void)
{
- static ino_t fifo_ino = 0;
+ static ino32_t fifo_ino = 0;
ino_t fino;
mutex_enter(&fino_lock);
fino = fifo_ino++;
mutex_exit(&fino_lock);