bmap.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
  3. * Copyright (C) 2004-2005 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_unstuffer_sync(struct gfs2_inode *ip, struct buffer_head *dibh,
  15. uint64_t block, void *private);
  16. int gfs2_unstuff_dinode(struct gfs2_inode *ip, gfs2_unstuffer_t unstuffer,
  17. void *private);
  18. int gfs2_block_map(struct gfs2_inode *ip,
  19. uint64_t lblock, int *new,
  20. uint64_t *dblock, uint32_t *extlen);
  21. typedef int (*gfs2_truncator_t) (struct gfs2_inode * ip, uint64_t size);
  22. int gfs2_truncatei(struct gfs2_inode *ip, uint64_t size);
  23. int gfs2_truncatei_resume(struct gfs2_inode *ip);
  24. int gfs2_file_dealloc(struct gfs2_inode *ip);
  25. void gfs2_write_calc_reserv(struct gfs2_inode *ip, unsigned int len,
  26. unsigned int *data_blocks,
  27. unsigned int *ind_blocks);
  28. int gfs2_write_alloc_required(struct gfs2_inode *ip, uint64_t offset,
  29. unsigned int len, int *alloc_required);
  30. #endif /* __BMAP_DOT_H__ */