Hello everyone,
Since fs/pipe.c:pipe_write() calls mark_inode_dirty, and it is legal to
write to a named pipe on a readonly filesystem, we can end up writing an
inode on a readonly FS.
reiserfs prints a warning whenever someone tries to write an inode on a
readonly FS, so we've been getting a few complaints about this.
I see at least 3 choices:
drop the reiserfs warning, it was only there to chase things similar to the
remount root readonly bug in 2.4.0.
change mark_inode_dirty or write_inode to exit early on readonly
filesystems.
change pipe_write to leave the inode clean when the FS is readonly.
Does anyone have a preference? I'd rather not see each FS have to check
for this on their own, but the other filesystems aren't as picky as
reiserfs in this case ;-)
-chris
On Mon, 12 Mar 2001, Chris Mason wrote:
> Hello everyone,
>
> Since fs/pipe.c:pipe_write() calls mark_inode_dirty, and it is legal to
> write to a named pipe on a readonly filesystem, we can end up writing an
> inode on a readonly FS.
I would check that in pipe_write()...
Cheers,
Al
On Mon, Mar 12, 2001 at 09:15:33PM -0500, Alexander Viro wrote:
> On Mon, 12 Mar 2001, Chris Mason wrote:
> > Since fs/pipe.c:pipe_write() calls mark_inode_dirty, and it is legal to
> > write to a named pipe on a readonly filesystem, we can end up writing an
> > inode on a readonly FS.
>
> I would check that in pipe_write()...
So atime and mtime of a named pipe are meaningless in general?
That would make sense, since you cannot access the data anymore,
once they are through the pipe.
Regards
Ingo Oeser
--
10.+11.03.2001 - 3. Chemnitzer LinuxTag <http://www.tu-chemnitz.de/linux/tag>
<<<<<<<<<<<< been there and had much fun >>>>>>>>>>>>
On Tue, 13 Mar 2001, Ingo Oeser wrote:
> On Mon, Mar 12, 2001 at 09:15:33PM -0500, Alexander Viro wrote:
> > On Mon, 12 Mar 2001, Chris Mason wrote:
> > > Since fs/pipe.c:pipe_write() calls mark_inode_dirty, and it is legal to
> > > write to a named pipe on a readonly filesystem, we can end up writing an
> > > inode on a readonly FS.
> >
> > I would check that in pipe_write()...
>
> So atime and mtime of a named pipe are meaningless in general?
> That would make sense, since you cannot access the data anymore,
> once they are through the pipe.
Huh? They are meaningless if fs is read-only. Can't change inode in
such situation... For normal filesystems it's "how long ago somebody
did <type of access> with this FIFO".