* OpenSolaris compatibility.
This commit is contained in:
		
							parent
							
								
									0f79ad47c5
								
							
						
					
					
						commit
						1a8f8fd86f
					
				
					 1 changed files with 6 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -302,7 +302,12 @@ struct RestoreSink : ParseSink
 | 
			
		|||
#if HAVE_POSIX_FALLOCATE
 | 
			
		||||
        if (len) {
 | 
			
		||||
            errno = posix_fallocate(fd, 0, len);
 | 
			
		||||
            if (errno) throw SysError(format("preallocating file of %1% bytes") % len);
 | 
			
		||||
            /* Note that EINVAL may indicate that the underlying
 | 
			
		||||
               filesystem doesn't support preallocation (e.g. on
 | 
			
		||||
               OpenSolaris).  Since preallocation is just an
 | 
			
		||||
               optimisation, ignore it. */
 | 
			
		||||
            if (errno && errno != EINVAL)
 | 
			
		||||
                throw SysError(format("preallocating file of %1% bytes") % len);
 | 
			
		||||
        }
 | 
			
		||||
#endif
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue