bmap.h 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
  3. * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved.
  4. *
  5. * This copyrighted material is made available to anyone wishing to use,
  6. * modify, copy, or redistribute it subject to the terms and conditions
  7. * of the GNU General Public License v.2.
  8. */
  9. #ifndef __BMAP_DOT_H__
  10. #define __BMAP_DOT_H__
  11. typedef int (*gfs2_unstuffer_t) (struct gfs2_inode * ip,
  12. struct buffer_head * dibh, uint64_t block,
  13. void *private);
  14. int gfs2_unstuff_dinode(struct gfs2_inode *ip, gfs2_unstuffer_t unstuffer,
  15. void *private);
  16. int gfs2_block_map(struct inode *inode, u64 lblock, int *new, u64 *dblock, int *boundary);
  17. int gfs2_extent_map(struct inode *inode, u64 lblock, int *new, u64 *dblock, unsigned *extlen);
  18. int gfs2_truncatei(struct gfs2_inode *ip, uint64_t size);
  19. int gfs2_truncatei_resume(struct gfs2_inode *ip);
  20. int gfs2_file_dealloc(struct gfs2_inode *ip);
  21. void gfs2_write_calc_reserv(struct gfs2_inode *ip, unsigned int len,
  22. unsigned int *data_blocks,
  23. unsigned int *ind_blocks);
  24. int gfs2_write_alloc_required(struct gfs2_inode *ip, uint64_t offset,
  25. unsigned int len, int *alloc_required);
  26. #endif /* __BMAP_DOT_H__ */