LCOV - code coverage report
Current view: top level - fs/xfs/libxfs - xfs_inode_buf.h (source / functions) Hit Total Coverage
Test: fstests of 6.5.0-rc3-achx @ Mon Jul 31 20:08:12 PDT 2023 Lines: 4 4 100.0 %
Date: 2023-07-31 20:08:12 Functions: 0 0 -

          Line data    Source code
       1             : // SPDX-License-Identifier: GPL-2.0
       2             : /*
       3             :  * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc.
       4             :  * All Rights Reserved.
       5             :  */
       6             : #ifndef __XFS_INODE_BUF_H__
       7             : #define __XFS_INODE_BUF_H__
       8             : 
       9             : struct xfs_inode;
      10             : struct xfs_dinode;
      11             : 
      12             : /*
      13             :  * Inode location information.  Stored in the inode and passed to
      14             :  * xfs_imap_to_bp() to get a buffer and dinode for a given inode.
      15             :  */
      16             : struct xfs_imap {
      17             :         xfs_daddr_t     im_blkno;       /* starting BB of inode chunk */
      18             :         unsigned short  im_len;         /* length in BBs of inode chunk */
      19             :         unsigned short  im_boffset;     /* inode offset in block in bytes */
      20             : };
      21             : 
      22             : int     xfs_imap_to_bp(struct xfs_mount *mp, struct xfs_trans *tp,
      23             :                        struct xfs_imap *imap, struct xfs_buf **bpp);
      24             : void    xfs_dinode_calc_crc(struct xfs_mount *mp, struct xfs_dinode *dip);
      25             : void    xfs_inode_to_disk(struct xfs_inode *ip, struct xfs_dinode *to,
      26             :                           xfs_lsn_t lsn);
      27             : int     xfs_inode_from_disk(struct xfs_inode *ip, struct xfs_dinode *from);
      28             : 
      29             : xfs_failaddr_t xfs_dinode_verify(struct xfs_mount *mp, xfs_ino_t ino,
      30             :                            struct xfs_dinode *dip);
      31             : xfs_failaddr_t xfs_inode_validate_extsize(struct xfs_mount *mp,
      32             :                 uint32_t extsize, uint16_t mode, uint16_t flags);
      33             : xfs_failaddr_t xfs_inode_validate_cowextsize(struct xfs_mount *mp,
      34             :                 uint32_t cowextsize, uint16_t mode, uint16_t flags,
      35             :                 uint64_t flags2);
      36             : 
      37             : static inline uint64_t xfs_inode_encode_bigtime(struct timespec64 tv)
      38             : {
      39 12470435404 :         return xfs_unix_to_bigtime(tv.tv_sec) * NSEC_PER_SEC + tv.tv_nsec;
      40             : }
      41             : 
      42             : struct timespec64 xfs_inode_from_disk_ts(struct xfs_dinode *dip,
      43             :                 const xfs_timestamp_t ts);
      44             : 
      45             : static inline bool
      46             : xfs_dinode_good_version(struct xfs_mount *mp, uint8_t version)
      47             : {
      48  1755290609 :         if (xfs_has_v3inodes(mp))
      49  1755278513 :                 return version == 3;
      50       12096 :         return version == 1 || version == 2;
      51             : }
      52             : 
      53             : 
      54             : #endif  /* __XFS_INODE_BUF_H__ */

Generated by: LCOV version 1.14