[patch] Cascaded VFS v.4

TUDOR Coserea tudore at gecadsoftware.com
Tue Jul 9 05:00:03 GMT 2002


Hi Alexander,

Alexander Bokovoy <a.bokovoy at sam-solutions.net> writes:
> > And another question:
> >         I used VFS to build a antivirus scanner and on close method I
> >         need (const struct files_struct*)->fsp_name which position
> >         depends by this _LARGEFILE64_SOURCE. If one of smbd and my
> >         scanner is build with this flag and other is not, on close
> >         method smbd with my scanner will crash. Could be rearranged
> >         files in this struct such as fields dependent by compilation
> >         flags be the last?
> Could you please show how would this struct look correctly? There are
> files_struct entries (next,prev), various SMB_XXX (dev, inode, pos, size) 
> which all are variable-sized...
Like this:
typedef struct files_struct
{
        struct files_struct *next, *prev;
        int fnum;
        struct connection_struct *conn;
        int fd;
        int print_jobid;
        mode_t mode;
        uint16 vuid;
        write_bmpx_struct *wbmpx_ptr;
        write_cache *wcp;
        struct timeval open_time;
        int share_mode;
        uint32 desired_access;
        time_t pending_modtime;
        int oplock_type;
        int sent_oplock_break;
        unsigned long file_id;
        BOOL can_lock;
        BOOL can_read;
        BOOL can_write;
        BOOL print_file;
        BOOL modified;
        BOOL is_directory;
        BOOL directory_delete_on_close;
        BOOL delete_on_close;
        char *fsp_name;
        SMB_DEV_T dev;
        SMB_INO_T inode;
        SMB_OFF_T pos;
        SMB_OFF_T size;
} files_struct;
now all fsp->mode ... fsp->fsp_name fields will not longer depend by compilation 
_LARGEFILE64_SOURCE/_LARGEFILE_SOURCE/_FILE_OFFSET_BITS/_GNU_SOURCE defines.

> -- 
> / Alexander Bokovoy
> ---
> Communications satellite used by the military for star wars.
> 






More information about the samba-technical mailing list