Hi, On Sun, Sep 13, 2009 at 10:07 PM, Manish Katiyar <mkatiyar@xxxxxxxxx> wrote: > On Sun, Sep 13, 2009 at 5:44 PM, SandeepKsinha <sandeepksinha@xxxxxxxxx> wrote: >> Hi all, >> >> Looking at the flags in the extent info, Is there any specifc flags >> which indicates an extent to be a HOLE?? > > I am not sure if I understand the question correctly ...... why would > you need that ? Can you give an example where it should be used ?? > Look at e4defrag.c, it checks the file size and allocates the same number of blocks for donor inode. Which will eventually make a holey file into a normal one. Any tool/application should make sure that they leave a sparse file as sparse. I think, as suggested by Greg Freemyer, we can use BMAP ioctl to get such information. >> >> I could only find the following ones... >> >> 39#define FIEMAP_MAX_OFFSET (~0ULL) >> 40 >> 41#define FIEMAP_FLAG_SYNC 0x00000001 /* sync file data before map */ >> 42#define FIEMAP_FLAG_XATTR 0x00000002 /* map extended attribute tree */ >> 43 >> 44#define FIEMAP_FLAGS_COMPAT (FIEMAP_FLAG_SYNC | FIEMAP_FLAG_XATTR) >> 45 >> 46#define FIEMAP_EXTENT_LAST 0x00000001 /* Last extent >> in file. */ >> 47#define FIEMAP_EXTENT_UNKNOWN 0x00000002 /* Data >> location unknown. */ >> 48#define FIEMAP_EXTENT_DELALLOC 0x00000004 /* Location >> still pending. >> 49 * Sets >> EXTENT_UNKNOWN. */ >> 50#define FIEMAP_EXTENT_ENCODED 0x00000008 /* Data can not be read >> 51 * while fs is >> unmounted */ >> 52#define FIEMAP_EXTENT_DATA_ENCRYPTED 0x00000080 /* Data is >> encrypted by fs. >> 53 * Sets >> EXTENT_NO_BYPASS. */ >> 54#define FIEMAP_EXTENT_NOT_ALIGNED 0x00000100 /* Extent >> offsets may not be >> 55 * block aligned. */ >> 56#define FIEMAP_EXTENT_DATA_INLINE 0x00000200 /* Data mixed >> with metadata. >> 57 * Sets >> EXTENT_NOT_ALIGNED.*/ >> 58#define FIEMAP_EXTENT_DATA_TAIL 0x00000400 /* Multiple >> files in block. >> 59 * Sets >> EXTENT_NOT_ALIGNED.*/ >> 60#define FIEMAP_EXTENT_UNWRITTEN 0x00000800 /* Space allocated, but >> 61 * no data >> (i.e. zero). */ >> 62#define FIEMAP_EXTENT_MERGED 0x00001000 /* File does not natively >> 63 * support >> extents. Result >> 64 * merged for >> efficiency. */ >> >> >> -- >> Regards, >> Sandeep. >> >> >> >> >> >> >> “To learn is to change. Education is a process that changes the learner.” >> >> -- >> To unsubscribe from this list: send an email with >> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx >> Please read the FAQ at http://kernelnewbies.org/FAQ >> >> > > > > -- > Thanks - > Manish > -- Regards, Sandeep. “To learn is to change. Education is a process that changes the learner.” -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ