Hi,

On Sun, Sep 13, 2009 at 10:07 PM, Manish Katiyar <mkati...@gmail.com> wrote:
> On Sun, Sep 13, 2009 at 5:44 PM, SandeepKsinha <sandeepksi...@gmail.com> 
> 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 ecar...@nl.linux.org
>> 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 ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to