Andrew can you please get this patch. IMHO it is simple and clean.
BTW: W/o patch unprivileged may abuse system resources simply by spawning
wast number of unkilable busyloops (works on ext2/ext3):

truncate --size 1T test
for ((i=0;i<1024;i++))
do
        filefrag test > /dev/null &
done

> __generic_block_fiemap may spin very long time for large sparse files.
>
> Signed-off-by: Dmitry Monakhov <dmonak...@openvz.org>
> ---
>  fs/ioctl.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/fs/ioctl.c b/fs/ioctl.c
> index 8ac3fad..6fbeb68 100644
> --- a/fs/ioctl.c
> +++ b/fs/ioctl.c
> @@ -379,6 +379,11 @@ int __generic_block_fiemap(struct inode *inode,
>                               past_eof = true;
>               }
>               cond_resched();
> +             if (fatal_signal_pending(current)) {
> +                     ret = -EINTR;
> +                     break;
> +             }
> +
>       } while (1);
>  
>       /* If ret is 1 then we just hit the end of the extent array */
> -- 
> 1.7.1

Attachment: signature.asc
Description: PGP signature

Reply via email to