On Mon, 2010-03-15 at 17:32 +0100, Karel Zak wrote: > On Fri, Jan 08, 2010 at 04:40:51PM -0500, Adam Jackson wrote: > > --- a/mount/mount.c > > +++ b/mount/mount.c > > @@ -1075,6 +1075,12 @@ loop_check(const char **spec, const char **type, int *flags, > > *loop = ((*flags & MS_LOOP) || *loopdev || opt_offset || opt_sizelimit || opt_encryption); > > *loopfile = *spec; > > > > + if (!*loop) { > > + struct stat st_buf; > > + stat(*spec, &st_buf); > > + *loop = S_ISREG(st_buf.st_mode); > > + } > > Applied a little different version (see below). > > The problem with this feature is that mount(2) syscall allows to use > regular files (or whatever) as the source argument. The interpretation > of the source argument completely depends on filesystem driver. So you > can create FS that is able to mount regular files... That's... a little bizarre. But very orthogonal, I suppose. And I can't imagine a sane filesystem that would behave differently when pointed at a block device as at a regular file containing the same bits, so this is probably safe. Thanks for looking into this! - ajax
Attachment:
signature.asc
Description: This is a digitally signed message part