Re: [patch 1/1] sys_sync_file_range()

From: Andrew Morton
Date: Thu Mar 30 2006 - 15:16:45 EST


OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> wrote:
>
> Andrew Morton <akpm@xxxxxxxx> writes:
>
> > + if ((s64)offset < 0)
> > + goto out;
> > + if ((s64)endbyte < 0)
> > + goto out;
>
> loff_t is long long on all arch. This is not need?

True, the casts happen to be unneeded. But they do set the reader's mind
at ease.

> > + if (S_ISFIFO(file->f_dentry->d_inode->i_mode)) {
> > + ret = -ESPIPE;
> > + goto out_put;
> > + }
>
> How about to check "if (!file->f_op || !file->f_op->fsync)" or something?

This syscall won't call ->fsync.

> For chrdev is also strange, and in the case of fsync(), it returns -EINVAL.
> IMHO it seems there is consistency.
>

I guess so. Perhaps it should be S_ISREG|S_ISBLK|S_ISDIR|S_ISLNK.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/