ext2_vnops.c (228583) | ext2_vnops.c (232703) |
---|---|
1/*- 2 * modified for EXT2FS support in Lites 1.1 3 * 4 * Aug 1995, Godmar Back (gback@cs.utah.edu) 5 * University of Utah, Department of Computer Science 6 */ 7/*- 8 * Copyright (c) 1982, 1986, 1989, 1993 --- 25 unchanged lines hidden (view full) --- 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 * SUCH DAMAGE. 39 * 40 * @(#)ufs_vnops.c 8.7 (Berkeley) 2/3/94 41 * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95 | 1/*- 2 * modified for EXT2FS support in Lites 1.1 3 * 4 * Aug 1995, Godmar Back (gback@cs.utah.edu) 5 * University of Utah, Department of Computer Science 6 */ 7/*- 8 * Copyright (c) 1982, 1986, 1989, 1993 --- 25 unchanged lines hidden (view full) --- 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 * SUCH DAMAGE. 39 * 40 * @(#)ufs_vnops.c 8.7 (Berkeley) 2/3/94 41 * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95 |
42 * $FreeBSD: head/sys/fs/ext2fs/ext2_vnops.c 228583 2011-12-16 15:47:43Z pfg $ | 42 * $FreeBSD: head/sys/fs/ext2fs/ext2_vnops.c 232703 2012-03-08 21:06:05Z pfg $ |
43 */ 44 45#include "opt_suiddir.h" 46 47#include <sys/param.h> 48#include <sys/systm.h> 49#include <sys/kernel.h> 50#include <sys/fcntl.h> --- 304 unchanged lines hidden (view full) --- 355 vap->va_fileid = ip->i_number; 356 vap->va_mode = ip->i_mode & ~IFMT; 357 vap->va_nlink = ip->i_nlink; 358 vap->va_uid = ip->i_uid; 359 vap->va_gid = ip->i_gid; 360 vap->va_rdev = ip->i_rdev; 361 vap->va_size = ip->i_size; 362 vap->va_atime.tv_sec = ip->i_atime; | 43 */ 44 45#include "opt_suiddir.h" 46 47#include <sys/param.h> 48#include <sys/systm.h> 49#include <sys/kernel.h> 50#include <sys/fcntl.h> --- 304 unchanged lines hidden (view full) --- 355 vap->va_fileid = ip->i_number; 356 vap->va_mode = ip->i_mode & ~IFMT; 357 vap->va_nlink = ip->i_nlink; 358 vap->va_uid = ip->i_uid; 359 vap->va_gid = ip->i_gid; 360 vap->va_rdev = ip->i_rdev; 361 vap->va_size = ip->i_size; 362 vap->va_atime.tv_sec = ip->i_atime; |
363 vap->va_atime.tv_nsec = ip->i_atimensec; | 363 vap->va_atime.tv_nsec = E2DI_HAS_XTIME(ip) ? ip->i_atimensec : 0; |
364 vap->va_mtime.tv_sec = ip->i_mtime; | 364 vap->va_mtime.tv_sec = ip->i_mtime; |
365 vap->va_mtime.tv_nsec = ip->i_mtimensec; | 365 vap->va_mtime.tv_nsec = E2DI_HAS_XTIME(ip) ? ip->i_mtimensec : 0; |
366 vap->va_ctime.tv_sec = ip->i_ctime; | 366 vap->va_ctime.tv_sec = ip->i_ctime; |
367 vap->va_ctime.tv_nsec = ip->i_ctimensec; | 367 vap->va_ctime.tv_nsec = E2DI_HAS_XTIME(ip) ? ip->i_ctimensec : 0; 368 if E2DI_HAS_XTIME(ip) { 369 vap->va_birthtime.tv_sec = ip->i_birthtime; 370 vap->va_birthtime.tv_nsec = ip->i_birthnsec; 371 } |
368 vap->va_flags = ip->i_flags; 369 vap->va_gen = ip->i_gen; 370 vap->va_blocksize = vp->v_mount->mnt_stat.f_iosize; 371 vap->va_bytes = dbtob((u_quad_t)ip->i_blocks); 372 vap->va_type = IFTOVT(ip->i_mode); 373 vap->va_filerev = ip->i_modrev; 374 return (0); 375} --- 120 unchanged lines hidden (view full) --- 496 if (vap->va_atime.tv_sec != VNOVAL) { 497 ip->i_atime = vap->va_atime.tv_sec; 498 ip->i_atimensec = vap->va_atime.tv_nsec; 499 } 500 if (vap->va_mtime.tv_sec != VNOVAL) { 501 ip->i_mtime = vap->va_mtime.tv_sec; 502 ip->i_mtimensec = vap->va_mtime.tv_nsec; 503 } | 372 vap->va_flags = ip->i_flags; 373 vap->va_gen = ip->i_gen; 374 vap->va_blocksize = vp->v_mount->mnt_stat.f_iosize; 375 vap->va_bytes = dbtob((u_quad_t)ip->i_blocks); 376 vap->va_type = IFTOVT(ip->i_mode); 377 vap->va_filerev = ip->i_modrev; 378 return (0); 379} --- 120 unchanged lines hidden (view full) --- 500 if (vap->va_atime.tv_sec != VNOVAL) { 501 ip->i_atime = vap->va_atime.tv_sec; 502 ip->i_atimensec = vap->va_atime.tv_nsec; 503 } 504 if (vap->va_mtime.tv_sec != VNOVAL) { 505 ip->i_mtime = vap->va_mtime.tv_sec; 506 ip->i_mtimensec = vap->va_mtime.tv_nsec; 507 } |
508 ip->i_birthtime = vap->va_birthtime.tv_sec; 509 ip->i_birthnsec = vap->va_birthtime.tv_nsec; |
|
504 error = ext2_update(vp, 0); 505 if (error) 506 return (error); 507 } 508 error = 0; 509 if (vap->va_mode != (mode_t)VNOVAL) { 510 if (vp->v_mount->mnt_flag & MNT_RDONLY) 511 return (EROFS); --- 1493 unchanged lines hidden --- | 510 error = ext2_update(vp, 0); 511 if (error) 512 return (error); 513 } 514 error = 0; 515 if (vap->va_mode != (mode_t)VNOVAL) { 516 if (vp->v_mount->mnt_flag & MNT_RDONLY) 517 return (EROFS); --- 1493 unchanged lines hidden --- |